4. 多人单分支协作操作
4.1 不同的人修改了不同的文件
- 在一台电脑上,通过git clone 命令获取到远端的代码
git clone [远端的http链接或者ssh链接]
#克隆的时候指定目录
git clone [远端的http链接或者ssh链接] [文件夹名称]
#但如果是通过git clone将仓库克隆下来的
会默认生成一个origin的简写指向远程仓库
- 假设现在第一台电脑 commit 以后,push到远端
- 第二台电脑进行修改commit以后,也向远端提交,则会发现报错
#这是因为远端有比本地更新的commit
#所以需要先将远端 fetch 到本地
- 再次进行push发现还是会报错,如下图所示
- 利用
git merge 仓库名分支名进行本地和远端的分支合并
- 最后再次尝试进行向远端推送
- 补充
#下面两条命令是成功的关键
git fetch 与 git merge 仓库名\分支名
#可以将以上两条命令用一条命令替代
git pull
4.2 不同人修改了同一文件的不同区域
- 与上一种情况类似
#下面两条命令是成功的关键
git fetch 与 git merge 仓库名/分支名
#可以将以上两条命令用一条命令替代
git pull
4.3 不同人修改了同一文件的同一区域
- 报错如下
- 这时候如果进行
git merge
up to date 说明远端已经改变,需要进行pull
- git merge 以后
- 打开文件进行修改
上面这些merge产生的信息手动进行删除
- 修改后的文件
- 查看一下当前状态
- 执行提交到暂存区,commit,push,工作完成
4.4 同时变更了文件与文件名
- 第一步,修改文件名进行push到远端
- 第二步,另一边修改文件进行push
- 第三步,
git pull到本地,修复问题
4.5 双方将同一文件修改为不同的文件名
- 第一步,第一个人提前改好文件名,进行提交
- 第二步,第二个人修改文件名,进行提交
- 第三步,
git pull一下,显示冲突,所以需要自己进行处理冲突
- 第四步,
git status查看当前状态
- 第五步,
git rm 原来文件名以及git rm 另一个不需要的文件名

- 第六步,重新进行三步走,
git add,git commit,git push完成任务
了解更多技术文章,欢迎关注我的个人公众号
来源:CSDN
作者:yuzhou12341
链接:https://blog.csdn.net/yuzhou12341/article/details/104616079