技术标签: github git git-github使用 gitee
本文创作时版本为 Git-2.41.0,使用目标为笔记存储和代码库,部分公司向使用的设置可能不一样
本文在创作时通过狂神说视频的学习和帮助
版本控制(Revision control)是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。
特别是在多人团队完成项目时,一方面要满足多人共同修改并及时互相查看,另一方面要使修改可追溯、可还原。
实现跨区域多人协同开发
记录文件每次的更新,本质上是对每个版本做一个快照,或是记录补丁文件,适合个人用,如 RCS
。
SVN(Subversion)
、CVS(Concurrent Versions System)
是集中式版本控制系统,所有的版本数据都保存在服务器上,协同开发者从服务器上同步更新或上传自己的修改
git
Git
是分布式版本控制系统
log
(日志文件),等到有网的时候,push
到远程即可;SHA-1
哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。gitolite
或者gitlab
。Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理项目、项目版本管理。
原本是为了帮助管理 Linux
内核开发而开发的一个开放源码的版本控制软件。
Remote
:远程仓库
Repository
:本地仓库
Index / Stage
:暂存区
Workspace
:工作区
.git
:存放Git管理信息的目录,初始化仓库的时候自动创建。
Stash
:隐藏,是一个工作状态保存栈,用于保存/恢复WorkSpace中的临时状态
首先进入GitHub
官网git-scm.com,下载适合自己电脑的版本,我的是64位Windows,官网下载太慢,我们可以使用淘宝镜像下载:http://npm.taobao.org/mirrors/git-for-windows/
以下是官网下载步骤
下载完安装包之后运行
在安装过程中直接默认选项即可,如果可以修改的我会在下图标出。
可以添加两个选项,第一个是创建个快捷方式,第二个是在Windows终端添加Git bash
,每日检查更新就不必了(Check daily)
在开始菜单创建快捷方式,直接默认
用Windows默认的终端文本编辑器
使用默认的分支存储库名称
接受第三方软件使用Git
使用Git
捆绑的ssh
处理回车的方式
使用MinTTY
默认终端,在滚回、调整窗口大小、文本字体和选择较为灵活
设置git pull
的行为,分别是快进与合并、重新定位、仅快进。
任意空白处右键——Git Bash Here
,即可进入Git
的命令窗口
嗯,这一小节终于结束了。
安装成功后在开始菜单中会有Git项,菜单下有3个程序:任意文件夹下右键也可以看到对应的程序!
Git Bash
:Unix 与 Linux 风格的命令行(推荐使用)
Git CMD
:Windows 风格的命令行
Git GUI
:图形界面的Git,不建议初学者使用,尽量先熟悉常用命令
git config --list
包括git config --global --list
和git config --system --list
system:Git\etc\gitconfig
global 全局:C:\Users\Administrator\ .gitconfig
git config --list #查看git的所有配置信息
git config --l #查看git的所有配置信息
git config --global --list #查看git的用户配置信息,也叫全局配置(user.name、user.email)
git config --system --list #查看git的系统配置信息
git config --global user.name "user.name" #设置本机所有的Git仓库用户名
git config --global user.email "user.email" #设置本机所有的Git仓库邮箱
git config --global user.password "password" #配置文件一般C:\Users\Administrator的.gitconfig文件中,故一般不在配置文件中设置密码
git config --global --unset user.name #删除某个全局配置项
ssh-agent bash
ssh-add ~/.ssh/id_rsa.github
ssh-add ~/.ssh/id_rsa.gitee #将新的私钥加入到 SSH agent 中
touch ~/.ssh/config #多账号配置,生成config文件
cd E:
cd 文件夹 #进入不同位置
cd .. #返回上一级
pwd #显示当前所在的目录路径。
ls #列出当前目录中的所有文件
ll #更为详细列出当前目录中的所有文件
touch #新建一个文件
rm #删除一个文件
mkdir #新建一个目录(文件夹)
rm -r #删除一个目录(文件夹)
rm -rf #删除电脑中全部文件
mv #移动文件
history #查看命令历史
help #帮助
reset #重新初始化终端/清屏。
clear #清屏
exit #退出
# #表示注释
ssh -T [email protected]
ssh -T [email protected] #SSH Key测试
git init #将文件夹初始为仓库
git remote add origin [email protected]:仓库SSH #关联远程仓库
git remote add origin [email protected]:名字/仓库名字.git #名字是github注册的名字
git add 文件名 #将内容从工作目录添加到暂存区
git add . #将所有新增的文件都添加暂存区
git commit -m "分支名" #所有通过 git add 暂存的文件提交到本地仓库
git push -u origin master #上传文件,如果带有-u参数,则指定了默认的远程主机, 这样以后再推入时,可以简写为:git push
git push origin master #上传文件
git status #展示工作区及暂存区域中不同状态的文件
git reset HEAD 文件名 #从暂存区移除指定文件
git checkout -- 文件名 #从本地仓库恢复指定文件
git pull #拉取远程仓库的数据
git log #查看git历史提交日志
git reflog #查看git所有提交日志
git config --global user.name "user.name"
git config --global user.email "user.email"
Github
、Gitee
的SSH Key
(加两个回车)ssh-keygen -t rsa -f ~/.ssh/id_rsa.github -C "user.email"
ssh-keygen -t rsa -f ~/.ssh/id_rsa.gitee -C "user.email"
在C:\Users\Administrator\.ssh
下生成了
id_rsa
,为了让 SSH
识别新的私钥,需要将新的私钥加入到 SSH agent
中ssh-agent bash
ssh-add ~/.ssh/id_rsa.github
ssh-add ~/.ssh/id_rsa.gitee
Github
与Gitee
都能使用Git
,需要进行多账号配置,生成config
文件touch ~/.ssh/config
并在该文件里填写
#Default gitHub user Self
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa.github
# gitee
Host gitee.com
Port 22
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa.gitee
完成
git
的工作流程一般是这样的:
1、在工作目录中添加、修改文件;
2、将需要进行版本管理的文件放入暂存区域(add);
3、将暂存区域的文件提交到git
仓库(commit),并根据需要是否提交到远程仓库(push)
git
管理的文件有三种状态:已修改(modified),已暂存(staged),已提交(coommitted)
进入https://github.com/官网注册,如果速度慢可以用steam++等合法科学上网,谷歌浏览器的翻译比较好
点击右上角加号,New repository
创建新的存储库
下面就要让自己的电脑克隆一个自己所创建的库,方面自己电脑上的代码同步到GitHub
你所创建的库当中。
将1.5生成的id_rsa.github.pub
内容复制到SSH Key中
点击确定即可
输入下列指令,回车,输入yes,再回车,红框处出现Hi表示公钥添加成功:
ssh -T [email protected]
别忘记了yes!!!
选择一个文件夹作为本地仓库,并在此文件夹打开Git Bash
也可以使用cd的方式进入文件夹(红框内是所在位置)
输入git init
将文件夹初始为仓库
显示下图即表示成功
实质上是在此位置创建一个有git配置的隐藏文件夹
克隆远程目录是将远程服务器上的仓库完全镜像一份至本地!
git clone 仓库链接
复制仓库SSH,输入git remote add origin [email protected]:仓库SSH
关联远程仓库
在需上传文件所在文件夹Bash Here
建立链接——add
添加文件夹——commit
标注分支——push
推送
git remote add origin [email protected]:名字/仓库名字.git #名字是github注册的名字
git add 文件名
git commit -m "分支名"
git push -u origin master
比如我要把3.md
文件放到我的账号yanqiu12138
的git_test_notes
的main
分支中
首先,要在本地库的位置Bash Here
,即3.md
所在文件夹,或者在运行框里用cd命令
切换位置到库位置
分别输入
cd D:
cd Code/Github
git add 3.md
git commit -m "main"
git push -u origin master
Add file
—— Create new file
按钮:.md
结尾的文件点击预览的时候才能被格式化,否则就是一个普通的文本
3. 写完点击commit changes
(提交更改)
4. Extended description
是描述本次提交做了什么,写笔记完全不需要
批操作指批量打包文件到本地或上传。
Code
——Download ZIP
Clone or download
,在下拉菜单中复制所给出的地址,在想要保存的文件夹位置Git Bash Here
,输入下面代码,稍后片刻就好了:git clone 地址
Git Bash Here
,输入下面代码,git remote add origin [email protected]:名字/仓库名字.git #名字是github注册的名字
git add 文件夹名
git commit -m "分支名"
git push -u origin master
Gitee是中文版的GitHub,相较于Github代码略少,但胜在国内可以稳定访问且5 人以下小团队免费。
将1.5生成的id_rsa.gitee.pub
内容复制到SSH Key中
分别输入下列指令,回车,输入yes,再回车,红框处出现Hi表示公钥添加成功:
ssh -T [email protected]
别忘记了yes!!!
选择一个文件夹作为本地仓库,并在此文件夹打开Git Bash
也可以使用cd的方式进入文件夹(红框内是所在位置)
输入git init
将文件夹初始为仓库
显示下图即表示成功
复制仓库SSH,输入git remote add origin 仓库SSH
关联远程仓库
在需上传文件所在文件夹Bash Here
建立链接——add
添加文件夹——commit
标注分支——push
推送
git add 文件名
git commit -m "分支名"
git pull --rebase origin master(第一次使用的库需要这样建立链接)
git push -u origin master (之后不需要-u)
比如我要把1.md
文件放到我的账号雁丘
的gitee_test_notes
的test
分支中
管理—仓库成员管理–开发者–添加成员–复制链接
涉及盘符切换时要分两步,切换盘符和切换路径
cd D:
cd Code/Github
注意:出现.git
文件夹说明初始化成功,有些版本默认隐藏,右上角显示隐藏的项目就能查看
想重新初始化只需把.git
文件删除
或者可以在当前文件下的控制台中输入 ls-a
查看,有.git
的话,使用 rm -rf .git
删除之后重新初始化就可以了
注意不是连敲两个回车,第二个回车前输入yes
暂存区没文件或者文件被git add
过了,只需随便修改一下该文件就行
报错是因为,每个仓库都有一个分支,也可以理解为大仓库里的小仓库,我们只是跟线上远程仓库有了关联,但没有跟线上远程仓库的某个分支关联,所以我们没法提交
在终端输入 git pull --rebase origin master
即可跟刚创建的线上远程仓库的默认分支master关联
这时再执行一下 git push -u origin master
即可将我们的项目文件上传到关联的线上远程文件中
Chrome翻译在使用Github全英界面时十分方便,各种弹窗、插件、下拉菜单都能迅速自动翻译
插件Octotree Github的导航栏
可以在设置
——扩展程序
——Chrome应用商店
找到,直接应用即可
打开代码库后,能发现网页左侧出现
鼠标覆盖时,会以树的形式显示库的文件
若出现报错:This branch was either deleted or you don’t have access to it. Please go to Settings to login with GitHub OAuth or input a GitHub access token.(该分支已被删除或您无权访问它。请前往“设置”以使用 GitHub OAuth 登录或输入 GitHub 访问令牌。)
是因为插件访问时需要github的令牌,创建一个给他就行
解决方法:点击设置点击钥匙按钮
到期日选择没有过期时间,选择范围全选(企业用户自己研究下,个人的话全选完事)
复制生成的代币
粘贴到这里,完成
小白使用Git Bash维护Gitee、GitHub神器,是一个开发的Git版本控制系统的客户端,Git是命令行操作模式,而TortoiseGit是界面化操作模式
后面配置需要使用Putty,默认选择,点击完成
在仓库处右键,TortoiseGit——设置,进入配置界面
文章浏览阅读454次。文章目录什么是组件?模块化与组件化组件定义命名规则创建组件的方式方式一方式二方式三组件的唯一性什么是组件?什么是组件:组件的出现,就是为了拆分vue实例的代码里的,能够让我们以不同的组件,来划分不同的功能模块,将来我们需要什么样的功能,就可以去调用对应的组件即可模块化与组件化名称概念模块化是从代码逻辑角度进行划分的;方便代码的分层开发,保证每个功能模块的职能单一组件化是从UI界面的角度进行划分的;前端的组件化,方便UI组件重用组件定义命名规则推荐全小写,然后
文章浏览阅读2.7k次,点赞6次,收藏40次。目录1. ResNet网络详解1.1 ResNet网络概述1.2 Batch Normalization1.3 residual结构1.4 ResNet结构和详细参数1.5 迁移学习2. Pytorch搭建本文为学习记录和备忘录,对代码进行了详细注释,以供学习。内容来源:★github:https://github.com/WZMIAOMIAO/deep-learning-for-image-processing★b站:https://space.bilibili.com/18161609/chan_resnet实战:使用resnet实现图像分类(pytorch)
文章浏览阅读1w次,点赞17次,收藏66次。1.HTML文本这里以官方文档提供的html代码来演示Beautiful Soup中find_all()和find()的基本使用。<html><head><title>The Dormouse's story</title></head><body><p class="title"><b>The Dormouse's story</b></p><p class="stor_soup.find_all
文章浏览阅读528次。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。AI职场汇报智能办公文案写作效率提升教程 专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。_python中降序和逆序有什么区别
文章浏览阅读228次。【代码】Django使用 haystack+whoosh实现搜索功能,并返回json数据。_django填加whoosh backend
文章浏览阅读341次。环境是政务微信放请求71代理服务器,71代理服务器请求项目所在的14服务器。1.服务器的映射 server { listen 8080; server_name 10.99.89.71; #charset koi8-r; #access_log logs/host.access.log main; rewrite ^(.*)$ https://${server_name}$1 permanent;
文章浏览阅读1.2k次。输入法是我们在使用电脑的时候经常会用来输入文字的工具,一般在开机的时候都会自动启动并在任务栏右下角显示,可是有不少win7系统用户却遇到开机后输入法总是消失的情况,要怎么解决呢?现在为大家带来Win7系统开机后输入法总是消失的详细解决步骤。1、在win7系统中点击“开始”--“运行”输入--regedit,打开“注册表编辑器”,找到“HKEY_USERS\.DEFAULT\ControlPanel..._开机输入法消失
文章浏览阅读633次,点赞7次,收藏14次。利用ORB_SLAM2运行自己数据集_orbslam2 自己的视频
文章浏览阅读833次。def is_palindrome(n): arr = [] while n&gt;0: arr.append(n % 10) n //= 10 l = len(arr) for i in range(0, len(arr)//2): if arr[i] != arr[l-i-1]: retu..._回数的函数名称是什么
文章浏览阅读4.8k次,点赞10次,收藏48次。本次坦克大战项目已实现的功能背景音效,动画界面,各级菜单选项,暂停游戏,重新开始,储存与读取游戏进度。单人,双人(闯关模式) (自定义游戏),双人联机模式每辆坦克独立的HP,MP,移动速度,攻击CD,自动回HP,MP,3种不同的炮弹攻击针对BOSS的自动寻找玩家并攻击。使用A星算法。各种类型食物:无敌,攻击翻倍,全屏秒杀,无限子弹,全场冰冻。各种类型敌人:4种按等级区分的普通敌人,1种...
文章浏览阅读3.9k次,点赞10次,收藏17次。介绍在工程测量中,经常使用的坐标系如北京54坐标系、国家80(也叫西安80)坐标系、CGCS2000坐标系。而在终端设备或定位平台中,一般使用WGS84坐标系。这样的情况下,就需要一种北京54、国家80、CGCS2000转WGS84坐标系的通用程序方法。而我们使用的就是布尔莎七参数法来进行的程序转换。通过使用C++程序,从而得到平台需要的wgs84坐标。布尔莎七参数标准的七参数转换方法,使用X、Y、Z平移,X、Y、Z旋转,K尺度,这七个参数,在已知三个以上点的情况下,来计算七参数模型。具体七参数计_cgcs2000转换到wgs84 c# 代码
文章浏览阅读1.5k次,点赞6次,收藏32次。山东大学软件学院增强现实2020年期末考试试题回忆一、选择题(8题,每题5分,共40分)基本上都是认知性题目,只需要对课上的东西看过一眼就一眼(大部分题只要知道增强现实是什么),就可以做了。增强现实的三要素。张正友定标是怎么实现的。二、论述与证明题 (4题,每题15分,共60分)1、给出了ppt上一个光学穿透式头盔显式器的图,问:(1)根据下图描述光学穿透式头盔显式器的原理。(2)它的核心部件(技术)是什么?(3)它的优缺点是什么?2、 homographic单应性矩阵 H,两平面上的_增强现实算法基础 秦学英 答案