此篇為git命令的第三篇
目錄
Git Pull
在上一篇的結尾我們已經知道了如何用 git fetch 獲取遠程的數據, 現在我們學習如何將這些變化更新到我們的工作當中。
其實有很多方法的 —— 當遠程分支中有新的提交時,你可以像合並本地分支那樣來合並遠程分支。也就是說就是你可以執行以下命令:
git cherry-pick o/mastergit rebase o/mastergit merge o/master
實際上,由於先抓取更新再合並到本地分支這個流程很常用,因此 Git 提供了一個專門的命令來完成這兩個操作。它就是git pull。
我們先來看看 fetch、merge 依次執行的效果

執行: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
將拉取下來的進行合並

好啦現在你的本地已經同步了線上的修改!!!
這篇就到這里了,因為這個團隊協作比較需要理解
