1.产生原因:
??????我当前拉取的远端版本为 B,此时修改了代码,并在本地仓库 commit 一次,但并未 push 到远端仓库。 ??????b.另外一位开发者在 B 的基础上,一样 commit 了一次并 push 到远端仓库。那么这个时候,我再 push 本身的代码就会发生错误。
2.产生情况:
??????a.git merge 别的分支之后直接git push。 ??????b.正常在自己的分支开发,开发完了之后直接git add . ,git commit -m ,git push也会产生这种错误。
3.如何避免:
??????a.如果你使用的是 Git Bash,直接使用 git pull --rebase。若是拉取不产生冲突,会直接 rebase,不会产生分支合并操做,若是有冲突则须要手动 fix 后,自行合并。 ??????b.使用git fetch + git rebase ??????c.若是使用的是 GUI,例如 TortoiseGit,能够先 fetch,再手动 rebase 就能够了。 提示: 以上操作最好在git add . git commit -m之后进行。最后再push。 正常开发: 一般都是 1.git add . 2.git commit -m 3.git pull --rebase 4.如果有冲突解决冲突 5.git push 合并分支: 1.git merge --no-ff feature 2.git pull --rebase 3.如果有冲突解决冲突 4.git push 注意点: 如果自己的文件有改动,一定要先git add 和commit 否则直接git pull贼会覆盖自己本地写的那些代码
|