GIT学习--(18) GitHub多人协同工作(一)
1、我们先准备两个本地仓库,模拟两个人进行协同工作,首先确认两个仓库和远程仓库已关联,并且切换到同一个分支上(本例使用 mileStone 分支),确认目前两个仓库在该分支上都没有任何变更。(图示)。

2、为了最后在远程仓库上确认是谁进行了push操作,我们通过 git config --local user.name "XXX" 以及 git config --local user.email "XXX" 命令分别为两个仓库设置用户名称和用户邮箱,图示,我的两个本地仓库的用户名称分别是 ZhangSan 和 LiSi 。

3、首先,用户 ZhangSan 开始工作了,他修改了一个文件(图示例为 1.GIT_Basic_Command_List.txt),通过相关命令提交到了本地仓库的分支上,并通过 git push 命令推送到了远程仓库的分支上(图1示)。我们登陆远程仓库,会发现远程仓库上显示 ZhangSan 在该分支上进行了最近一次提交,并且也会将为我们当时提交时写的备注信息展示出来。

4、然后,用户 LiSi 也开始工作了,他修改了另外一个文件 (图1示例为 2.G诔罨租磊IT_Common_Command_List),和ZhangSan 一样,LiSi 也是将变更提交到本地分支上,然后通过 git push 命令将变更推送到远程仓库的特定分支上,那结果也会一样成功么? 图示,结果是推送失败了!从提示信息上可以看出,Git说我们本地分支对应的远端分支上包含有我们本地没有的内容,这通常是因为有人向这个分支做了push操作......(很明显,ZhangSan确实进行了这个操作)。那咋办呢?其实这个现象我们前面的经验已经演示了如何处理(详见下面的经验引用),就是先通过 git fetch 命令将该远程分支最新内容取回本地(图2示),然后再通过 git merge 命令将本地分支和该远程分支合并,最后再通过 git push 命令将本地的变更推送到远程分支上(图3示)!

