天天看点

多人使用git之冲突解决

先说说场景:本人在本地修改了代码,生成了一个commit,想要提交代码到远程分支,但是,由于代码好久没有更新,远程分支已经被多个同事提交了多个commit,这个时候想要提交代码,大概率会产生冲突,冲突的原因就是多人修改了同一个文件的相同区域

正常情况下,你的branch版本和远程一致,这时候没有问题

三板斧就可以:

git add *

git commit -m “add a bug”

git push origin  (为了方便讲述,我本地和远程分支名是一样的,所以直接指定远程仓就可以)

但是现在,远程已经有多个commit的时候,在第三步就会报一堆错误,大概意思就是冲突了

首先

git pull origin,这时候因为你已经有本地commit,会提示冲突,没关系,根据提示的冲突文件,一个个解决冲突就可以了

然后解决完了之后,因为本地又产生了修改,这时候把解决冲突的文件add进来,增加一个commit,方便其他人看

git add *

git commit -m  "解决冲突"

git push origin

总结一下:

1.当本地分支版本和远程版本一致,只需要三板斧就可以提交代码

2.当本地分支版本落后于远程分支,

     提交代码前需要git pull 更新下本地代码,更新后会带进来新的commit(别人提交的),这时候,git pull可能会提示会有冲突,只能手动解决,为了方便解决冲突,建议下载工具(sourcetree、gitk或者tortoisegit)解决冲突,工具方便对比新老版本;

解决了之后再提交新的commit,为了便于让同事知道,这个commit是来解决冲突的