基于SHA进行Git Pull

11

我想知道如何基于SHA从库中进行拉取操作?

git pull origin master

完成 git add remote 后,上述代码将会拉取主分支。


你到底想完成什么? - Carl-Eric Menzel
2个回答

19

git pull命令有两个作用:

  1. 从代码库中提取一个特定的分支
  2. 将其与当前分支合并

听起来你想要做的是从代码库中获取一个特定版本然后将其合并到当前分支上。

最好的方法是使用两个命令:

git fetch origin
git merge YOUR_SHA_HERE

如果你只想查看存储库中特定版本的内容并将其作为工作树,而不是进行合并,则需要执行以下操作:

git fetch origin
git checkout YOUR_SHA_HERE

如果您想获取特定版本并将其设置为新的“master”(或其他分支),则您需要运行:

如果您想获取特定版本并将其设置为新的“master”(或其他分支),则您需要运行:

git fetch origin
git reset --hard YOUR_SHA_HERE

所有这些操作将会从代码库获取新的代码(通过'git fetch origin'),但是有不同的方法来组合/替换您当前的代码。


7

我认为没有办法基于SHA只拉取分支的部分内容。

使用以下方式有什么问题:

git pull
git reset --hard <sha>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接