需求
同一个项目,不同的开发者修改了不同的文件,如何解决同步冲突。
模拟
用户一修改
第一个用户新建一个分支,
以上命令就是新建一个分支feature/add_git_commands
将其与远端分支origin/feature/add_git_commands
相关联,并切换到该分支。
修改 readme 文件,并推送到远端。因为新建分支时已经做了与远端关联,所以可以直接git push
。
用户二修改
第二个用户,首先拉取远端分支。
git branch -v
查看本地分支,保持不变,但是git branch -av
查看所有分支,可以发现多了两个远端分支。
新建本地分支,保持与远端分支名相同。
此时再对与 readme 不同的文件进行修改,提交,推送都会比较顺利。因为当前分支保持fast forward
。
用户二继续做开发,但是没再往远端推送代码。在此期间,用户一对远端代码进行了更新。用户二想再次推送代码,将会报错,提示当前提交不再fast forward
。
解决方法
git fetch
远端分支Responsive Image git merge
合并远端分支Responsive Image
因为两个用户修改的不同文件,所以合并不会产生冲突。