1、问题
查看 git 日志时发现 Merge branch 'master' of xxx
2、场景
git merge 别的分支之后直接git push。
正常在自己的分支开发,开发完了之后直接 git add . ,git commit -m ,git push
也会产生这种错误。
3、原因
我当前拉取的远端版本为 a-dev,此时修改了代码,并在本地仓库 commit 一次,但并未 push 到远端仓库。
另外一位开发者在 a-dev 的基础上,一样 commit 了一次并 push 到远端仓库。那么这个时候,我再 push 本身的代码就会发生错误。
4、解决方案
Git Bash 命令行,直接使用 git pull --rebase 即可。
若是拉取不产生冲突,会直接 rebase,不会产生分支合并操作,若是有冲突则须要手动 fix 后,自行合并。
使用 git fetch + git rebase
若是使用的是 GUI 可视化,例如 TortoiseGit,能够先 fetch,再手动 rebase 就能够了。
Tips:
一般开发流程:
- git add
- git commit -m
- git pull --rebase
- # 如果有冲突解决冲突
- git push
合并分支:
- git merge --no-ff feature
- git pull --rebase
- 如果有冲突解决冲突
- git push