2012-08-16 175 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>