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

  將拉取下來的進行合並

好啦現在你的本地已經同步了線上的修改!!!

這篇就到這里了,因為這個團隊協作比較需要理解


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM