工作中其实用的最多的就是这些命令
git status
查看状态git add -A
将所有文件提交至暂存区git commit -m "信息说明"
将修改文件提交至存储库git push origin dev
将当前分支提交至远程dev分支中git checkout dev
切换至本地dev分支git pull origin dev
将远程dev分支拉取至本地当前分支git rebase dev
解决本地当前分支与本地dev分支中的代码冲突git stash
储存(避免脏提交)git stash pop
改完之后返回继续之前工作git log
查看提交日志git reset --hard "版本号"
版本回退
在git bash
中使用命令ssh-keygen
之后会出现,下图
配置公钥路径
信息填写好了以后,在个人输入的路径(注意一定要写全路径)下就可以看到刚才命令生成的2个文件了
查看公钥文件
之后在公钥文件路径下创建config文件注意该文件没有后缀扩展名,打开config文件作以下配置,有几个公钥就配几个。
新建config文件
config文件配置
后面将不同的.pub后缀公钥文件里的内容添加至不同的远程仓库,这样就可以不同远程仓库拥有不同公钥了。(coding,github,码云等等都可以单独拥有一个公钥文件)
git clone 仓库ssh
,如下图
使用git clone克隆远程仓库
git status
显示被修改文件
显示被修改文件
git add .
或者git add -A
是将所有修改文件提交至暂存区,命令git add 文件名
是将某个文件添加至暂存区git commit -m "本次提交说明信息"
将修改文件提交至存储库git push origin master
将当前分支所有本地推送至远程仓库master分支
git简单的一个使用流程示例
简单git的一个步骤
通常情况下,我们不会将项目提交至master分支,工作中项目经理会在创建一个dev分支
check out -b dev
本地新建dev分支并切换至dev分支git branch
即可查看所有本地分支,带*号的分支为当前工作的分支git push origin dev:dev
将本地dev分支推送至远程dev分支(git push origin 本地分支名:远程分支名)推送以后这样远程仓库就有了dev分支了
本地创建dev分支并推送至远程
点击修改默认分支
选择默认分支
默认分支修改成功 项目经理创好项目以后,接下来开发人员操作如下:
git clone ssh
克隆远程仓库至本地,之后cd进入目录默认的分支就是dev分支了git checkout -b 分支名
image.png
git status
查看修改内容
image.png
然后依次使用git add -A
,git commit -m "提示信息"
,git push origin 开发人员分支名
,之后远程仓库就会出现开发人员分支,最后我们点击新建合并请求将其与dev分支合并,当然点击以后可能出现可合并,也可能出现不可合并,不可合并为代码冲突,需要同事之间进行沟通处理
将kayle/user分支推送至远程
远程仓库已有kayle/user分支
可合并示例 不可合并的情况,现在加入我们之前还没有点击合并,但是之前一位同事他已经修改文件了,并且已经合并至dev分支了
同事先行提交至dev分支合并了 这个时候我们点击自己的分支的时候,新建合并请求就会出现不可自动合并,即出现代码冲突
不可自动合并
之后我们使用命令git checkout dev
将本地分支切换至dev分支,使用命令git pull origin dev
将远程dev分支更新至本地,完了以后我们在使用命令git checkout 自己的分支
,在使用命令git rebase dev
将远程dev分支更新至本地dev,并拉取至本地kayle/user分支
image.png
与同事沟通过后,协商保留哪些,之后再次,确认后,在使用git staus
查看文件修改状态,在使用git add -A
,之后使用命令git rebase --continue
,git push origin kayle/user
,这时出现我们自己本地kayle/user分支和远程kayle/user分支代码冲突,我们在将远程kayle/user更新下来,使用命令git pull origin kayle/user
,之后再冲突文件选择保留内容就好,最后在推送至远程
自己本地分支与远程自己分支出现冲突
打开冲突文件
冲突解决完以后,再次将本地分支推送至远程
之后在进入远程仓库,选择自己的分支,即显示可合并,我们在点击新建合并请求
冲突已解决分支显示可合并
之后我们输入标题,点击新建合并请求
进入选择新建合并请求
接下来就是code review过程,添加评审者(一般是项目成员),添加的目的是为了让团队成员也看看代码会不会给项目造成不利的影响,如果都认为没有问题,那么我们点击合并分支进行合并
添加评审者
在文件改动里面可以看到文件修改的地方,红色的是删除的部分,绿色的是新增的部分,点击加号评审者可以对该行代码做出评论
i评审者评论
若有评审者看不懂该行代码,则我们需要进行解释,可以重新再代码中详细写明,然后再次推送至远程仓库,将推送后的链接复制回复至该评审者
image.png
将新增的代码内容发布,稍后链接回复评审者
评论回复链接
当所有人觉得都没有问题的时候,就选中删除源分支,点击合并请求
合并分支
合并以后在代码里面,提交历史里面,分支就合并在dev分支里面了
代码历史里提交分支已合并