git冲突的处理

一般提交代码前我都会先pull,但是今天在做新需求的迭代,和同事A同时修改了几个文件,同事A提交代码后,这时候我pull下来,就会提示:

error: Your local changes to the following files would be overwritten by merge:

XXXX文件
Please, commit your changes or stash them before you can merge.

解决方法:

先提交当前代码到本地仓库,然后在pull服务器上A提交的代码,这时候git会把冲突的地方告诉你,冲突文件会有如下提示信息:

? <<<<<<< HEAD
? xxx in master
? =======
? xxx in dev
? >>>>>>> dev

意思是:

<<<<<<<标记冲突开始,后面跟的是当前分支中的内容。

=======之后,>>>>>>>之前,则是要merge过来的另一条分支上的代码。

>>>>>>>之后的dev是该分支的名字。

在本地解决完冲突后,重新commit,最后把你本地修改的文件push到服务器即可。

 

也可以:

git stash 先把当前工作现场“储藏”起来

git pull master 拉去远程仓库代码

git stash list 查看储藏起来的工作现场

git stash pop 恢复并删除工作现场(也可以先git stash apply,再用git stash drop来删除工作现场)

 

posted @ 2016-03-08 18:11  大豪。  阅读(931)  评论(0编辑  收藏  举报