git 作为管理代码工具在项目中越来越受欢迎,在使用的过程中,经常会碰到冲突问题,另外就是在项目开发过程中,项目经理临时要求修改一个bug,而之前写的代码就要保存好;在这个过程中很多程序员就不知道怎么处理,下面就git在实际中一个完整的过程记录下来:
一、完成的代码提交过程
git chekout -b dev:创建一个dev的分支
git add . :当写了一些代码后,需要把代码从工作区加到暂缓区
git commit -s -m "xxx", 提交
git checkout master 切换到Master主分支
git pull :更新主分支,因为这个时候 可能其他的同事也修改提交了代码
git checkout dev
git rebase master: 把主分支的代码合入dev
如果中间有冲突,先要解决冲突,解法方法如下:
在上面git rebase master 时,会提示那个文件有冲突,只要修改删除冲突内容即可,然后:
git add .
git rebase --continue
git review: 代码提交到gerrit上
上面记录的是一个从代码开发创建分支到代码提交的一个完整过程,如按照上面的步骤操作,基本上不会出错;
二、git 另一个常见的操作,冲突解决
在代码的提交到gerrit后,有可能你和其他人的代码在合入先后顺序上有冲突,这个时候解决突然办法经常有两种:
第一种:人工合并
1. 本地备份代码;
2.重新clone代码;
3.abandon本次提交;
4.重新合入代码
其实相当于在最新的代码上,把自己的代码再加上
这种方法比较粗糙费时间,但是非常有效
第二种方法:
1.在master主分支上,把代码回退到提交前一个commit;
2.git pull
3.拉取本次已经提交的代码:git review -d ChangeId
4.git rebase master
手动解决冲突
git add .
git rebase --continue
5.git review -R
三、在原有的提交代码上patch新代码
当代码提交后,想在此基础上修改一点代码,并不希望重新创建分支,过程如下:
1. 在提交代码的基础上拉取分支(如果之前开发的分支dev没有删除,就不需要重新拉取,用dev即可)
修改代码
2. git add xxx
3. git commit --amend
4.git review
以上三种基本是工作中最常用的,希望对新手有点帮助!