参考文章:https://gitcode.csdn.net/65ea8a4f1a836825ed794712.html?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6MTQ1MTY5NywiZXhwIjoxNzIxMjkxNTE4LCJpYXQiOjE3MjA2ODY3MTgsInVzZXJuYW1lIjoibWFudG91eW91eW91In0.-wDA8k8JLiSglywMGl6-Q1FSLkDiWW9_spoG16tpdtA
多人协作开发项目,在上传代码时通常会先pull一下远程代码,使本地与远程同步更新,但是如果远程此时与自己代码存在冲突,在解决冲突后提交有时会出现“Merge branch ‘master’ of …”这条信息。这是因为pull其本质是fetch+Merge的结合。
通常会分为以下两种情况:
- 1.如果远程分支超前于本地分支,并且本地也没有commit操作,此时pull会采用’fast-forward’模式,该模式不会产生合并节点,也即不产生"Merge
branch ‘master’ of …"信息。 - 2.如果本地有commit提交,此时若存在冲突,pull拉取代码时远程和本地会出现分叉,会进行分支合并,就会产生"Merge branch ‘master’ of …"信息。
解决方法:
使用git pull --rebase命令,如果没有冲突,则会直接合并,如果存在冲突,手动解决冲突即可,不会再产生那条多余的信息。如果你不想每次都rebase,可以在git bash里执行
git config --global pull.rebase true