GIT学习--(18) GitHub多人协同工作(五)

2024-10-13 04:57:43

1、首先我们还是看一下两个本地仓库的配置,配置的用户名称分别为 ZhangSan 和 LiSi , 代表两个协同工作的人。确认两人工作在同一名称的分支上(经验演示中使用的分支名称是 miletoneS),并通过 git pull 命令更新该分支,分别运行如下命令:1. git branch -av //确认工作分支2. git config --local --list //确认配置的用户名3. git pull 远程仓库别名 分支名称 // 更新分支

GIT学习--(18) GitHub多人协同工作(五)GIT学习--(18) GitHub多人协同工作(五)

2、用户 ZhangSan 修改了文件 index.html 的名称为 index1.html , 并成功推送到了 GitHub 远程分支上 ,运行的命令如下:1. git mv 老文件名 新文件名 // 文件重命名操作2. git commit -m "提交注释" // 将变更提交到本地仓库3. git push 远程仓库别名 分支名称 // 将变更推送到远程仓库

GIT学习--(18) GitHub多人协同工作(五)

3、用户 LiSi 同样修改了该文件,将文件名从 index.html 修改为 index.htm ,在尝试推送到远程分支上时,报错了。错误信息提示,用户远程仓库该分支下包含了LiSi本地仓库该分支没有的内容,也就是说,有人推送了变更,LiSi 没有及时更新!LiSi同样进行了如下操作:1. git mv 老文件名 新文件名 // 文件重命名操作2. git commit -m "提交注释" // 将变更提交到本地仓库3. git push 远程仓库别名 分支名称 // 在这步报错了

GIT学习--(18) GitHub多人协同工作(五)

4、用户 LiSi 只能通过 git pull 命令再度更新一下本地仓库的该分支,这次棵褶佐峨还是报错了,从错误信息上看,LiSi 发现原来有人已经将这个文件更名为 index1.html 并推送到了远程分支上, Git尝试合并变更,发现有冲突,合并失败了。此时LiSi的本地仓库包含了这两个文件 index1.html (ZhangSan 更名后推送到GitHub的文件) 以及LiSi自己更名后的文件 index.htm。执行的命令如下:1. git pull 远程仓库别名 分支名称 // 更新本地仓库,但合并异常

GIT学习--(18) GitHub多人协同工作(五)GIT学习--(18) GitHub多人协同工作(五)

5、这时,LiSi需要和ZhangSan进行一下沟通,双方协商一个一致的处理方法,我们这里假定双方协商的处理方案是:保留LiSi的变更,将ZhangSan的变更删除。执行的命令如下:1. git rm index1.html // 删除ZhangSan所做的变更2. git commit -am "提交注释" // 将变更提交到本地仓库3. git push 远程仓库别名 分支名称 // 将最终变更推送到GitHub

GIT学习--(18) GitHub多人协同工作(五)

6、总结:对于协同工作时,出现的这种问题,后推送的人员在发生合并冲突时,需要和提前推送的人员沟通,双方协商一个一致的解决方案,由后推送人员按方案实施变更后,再次提交推送即可!

猜你喜欢