如果进行团队协作, 少不了使用Github对代码进行版本控制以及整合.
那么在使用GitHub的过程中, 如果遇到了合并冲突,应该如何解决呢?
如何让本地的代码与远程的最新代码同步呢?
会遇到很多问题, 下面以四个场景, 从简单到复杂, 层层递进, 来分析Github多人协作的工作流程
场景一:
- A创建Repo, B为合作者
- B把项目clone回去
- A修改代码, 然后推送代码 commit&git push
- B拉代码下来 git pull
- B修改代码, 然后推代码上去 commit&git push
- A 拉代码下来git pull
情景二:
- A修改代码, 然后推代码上去 commit&git push
- B修改代码, 然后推代码上去 commit&git push
报错: 碰到![rejected]master -> master(fetch first)
失败信息 - B要先拉代码下来git pull进行代码自动合并
- B再次git push
- A拉代码下来git pull
情景三:
- A修改代码, 然后推代码上去 commit&git push
- B修改代码, 然后推代码上去 commit&git push
报错: 碰到![rejected]master -> master(fetch first)
失败信息 B要先拉代码下来git pull进行代码尝试自动合并(git pull时会报错:
Automatic merge failed; fix conflicts and then commit the result
, 此时远端的代码已经来下来了,只是自动合并失败,