多人协作代码,若修改区域不是同一块很容易解决。 场景描述:初始master上代码版本号为A,他人在本地修改后提交到master,版本号变为B,但此时我本地版本号仍是A, 本地修改之后变为B‘,无法进行推送。 解决方案:1,查看并创建分支:- git branch
- git branch checkout -b newdev
复制代码 2,当前本地位于 newdev 分支,进行常规提交操作- git add .
- git commit -m "About your chages"
复制代码 3,切换回master分支进行合并- git checkout master
- git merge newdev
复制代码 4,此时会出现两种情况:4.1 如果其他人修改的地方与你修改的地方不是同一片区域,则系统自动合并所有修改, 此时master分支上的版本号为C 你只需要在本地填写commit “Why this merge is needed? ” 4.2 如果你与其他人修改过同一片区域,则会在文件中产生冲突语句, 需要打开冲突文件,保留两人其中一个人的修改版本, 之后以git add .声明冲突已经解决,并commit本次修改 - git status -s
- git add .
- git status -s
- git commit
复制代码至此版本冲突解决,可以成功提交到远端master分支,且版本号为C。 |