git命令详解( 三 )

此篇为git命令的第三篇

目录

  

  

 

Git Pull

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

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

git cherry-pick o/master

git rebase o/master

git merge o/master

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

我们先来看看 fetch、merge 依次执行的效果

git命令详解( 三 )

执行:git fetch 

git命令详解( 三 )

执行:git merge o/master

git命令详解( 三 )

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

如果使用 git pull

git命令详解( 三 )

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

 

模拟团队合作

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

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

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

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

git命令详解( 三 )

执行:git fakeTeamwork

git命令详解( 三 )

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

示例:

git命令详解( 三 )

执行:git fakeTeamwork foo3

git命令详解( 三 )

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

 

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

git命令详解( 三 )

git clone

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

git命令详解( 三 )

git fakeTeamwork master 2

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

git命令详解( 三 )

git commit 

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

git命令详解( 三 )

git fetch

将别人的修改拉取下来

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zygwzf.html