工作中其实用的最多的就是这些命令
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官网学习网址
二、一台电脑上配置多公钥文件
在git bash
中使用命令ssh-keygen
之后会出现,下图
信息填写好了以后,在个人输入的路径(注意一定要写全路径)下就可以看到刚才命令生成的2个文件了
之后在公钥文件路径下创建config文件注意该文件没有后缀扩展名,打开config文件作以下配置,有几个公钥就配几个。
后面将不同的.pub后缀公钥文件里的内容添加至不同的远程仓库,这样就可以不同远程仓库拥有不同公钥了。(coding,github,码云等等都可以单独拥有一个公钥文件)
三、常用命令
- 克隆远程仓库,使用命令
git clone 仓库ssh
,如下图
- 使用命令
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分支了
-
修改默认分支,工作中一般不会操作master分支,选择新建的dev分支点击确定
项目经理创好项目以后,接下来开发人员操作如下:
- 首先还是需要在本地,使用命令
git clone ssh
克隆远程仓库至本地,之后cd进入目录默认的分支就是dev分支了 - 克隆好了以后,开发人员不会再dev分支上进行操作,一般会基于dev分支创建一个自己的分支,使用命令
git checkout -b 分支名
- 将文件内容进行更改,使用命令
git status
查看修改内容
然后依次使用git add -A
,git commit -m "提示信息"
,git push origin 开发人员分支名
,之后远程仓库就会出现开发人员分支,最后我们点击新建合并请求将其与dev分支合并,当然点击以后可能出现可合并,也可能出现不可合并,不可合并为代码冲突,需要同事之间进行沟通处理
不可合并的情况,现在加入我们之前还没有点击合并,但是之前一位同事他已经修改文件了,并且已经合并至dev分支了
这个时候我们点击自己的分支的时候,新建合并请求就会出现不可自动合并,即出现代码冲突
之后我们使用命令git checkout dev
将本地分支切换至dev分支,使用命令git pull origin dev
将远程dev分支更新至本地,完了以后我们在使用命令git checkout 自己的分支
,在使用命令git rebase dev
与同事沟通过后,协商保留哪些,之后再次,确认后,在使用
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过程,添加评审者(一般是项目成员),添加的目的是为了让团队成员也看看代码会不会给项目造成不利的影响,如果都认为没有问题,那么我们点击合并分支进行合并
在文件改动里面可以看到文件修改的地方,红色的是删除的部分,绿色的是新增的部分,点击加号评审者可以对该行代码做出评论
若有评审者看不懂该行代码,则我们需要进行解释,可以重新再代码中详细写明,然后再次推送至远程仓库,将推送后的链接复制回复至该评审者
当所有人觉得都没有问题的时候,就选中删除源分支,点击合并请求
合并以后在代码里面,提交历史里面,分支就合并在dev分支里面了