git基础教程(四)

拥有回忆 提交于 2020-03-03 01:23:50

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完成任务

了解更多技术文章,欢迎关注我的个人公众号

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!