2012-08-16 72 views
6

我想知道如何從基於SHA的回購中進行拉取?基於SHA的git pull

git pull origin master 

上面的代碼會在我們完成git add remote之後拉動主控。

+0

你想完成什麼工作? – 2012-08-16 15:10:36

回答

15

一個Git拉爲你做兩件事情:

  1. 從倉庫中
  2. 與當前分支將其合併獲取特定的分支。

這聽起來像你想要做的是從存儲庫中獲得特定的修訂版並將其與當前分支合併。

做到這一點,最好的辦法是兩個命令:

git fetch origin 
git merge YOUR_SHA_HERE 

如果你想要的是正好看到在一個特定的版本有什麼從倉庫中,並使其工作樹,而不是做一個合併,然後你會想:

git fetch origin 
git checkout YOUR_SHA_HERE 

如果你想要的是得到特定的版本,並使其成爲新的「主」(或另一分支),那麼你將要運行

git fetch origin 
git reset --hard YOUR_SHA_HERE 

所有這些都會從存儲庫中獲取新代碼(通過'git fetch origin'),但是有不同的方式來結合/替換你當前的代碼。

5

我不認爲有一種方法可以僅基於SHA抽取部分分支。

出了什麼問題:

git pull 
git reset --hard <sha>