Heading for the future

git命令详解( 三 )

此篇为git命令的第三篇

目录

  git Pull

  模拟团队合作

 

Git Pull

在上一篇的结尾我们已经知道了如何用 git fetch 获取远程的数据, 现在我们学习如何将这些变化更新到我们的工作当中。

其实有很多方法的 —— 当远程分支中有新的提交时,你可以像合并本地分支那样来合并远程分支。也就是说就是你可以执行以下命令:

  • git cherry-pick o/master
  • git rebase o/master
  • git merge o/master

实际上,由于先抓取更新再合并到本地分支这个流程很常用,因此 Git 提供了一个专门的命令来完成这两个操作。它就是git pull

我们先来看看 fetchmerge 依次执行的效果

执行:git fetch 

执行:git merge o/master

我们用 fetch 下载了 C3, 然后通过 git merge o/master 合并了这一提交记录。现在我们的 master 分支包含了远程仓库中的更新(在本例中远程仓库名为 origin

如果使用 git pull

同样的结果!这清楚地说明了 git pull 就是 git fetch 和 git merge <just-fetched-branch> 的缩写!

 

模拟团队合作

这里有一件棘手的事 —— 为了接下来的课程, 我们需要先教你如何制造远程仓库的变更。

这意味着,我们需要“假装”你的同事、朋友、合作伙伴更新了远程仓库,有可能是某个特定的分支,或是几个提交记录。

为了做到这点,我们引入一个自造命令 git fakeTeamwork!它的名称已经说明了一切,先看演示..(注意:自造命令在实际中并不能使用

fakeTeamwork 默认操作就是在远程仓库的 master 分支上做一次提交。

执行:git fakeTeamwork

你还可以指定提交的分支或是数量,只需要在命令后加上它们就可以了

示例:

执行:git fakeTeamwork foo3

通过一个命令,我们就模拟队友推送了 3 个提交记录到远程仓库的 foo 分支。

 

 下面开始我们的团队模拟练习

git clone

(执行完之后我们可以看到仓库已经克隆下来了)

git fakeTeamwork master 2

(使用自定义命令模拟其他人的两次提交)

git commit 

模拟你自己的修改并进行一次提交

git fetch

将别人的修改拉取下来

git merge

  将拉取下来的进行合并

好啦现在你的本地已经同步了线上的修改!!!

这篇就到这里了,因为这个团队协作比较需要理解

posted @ 2019-03-11 13:26  一只菜鸟攻城狮啊  阅读(1407)  评论(1编辑  收藏  举报