如何在 Git 中拉取单个提交?

How Do I Pull a Single Commit In Git?

有人在 Github 上修复了程序中的错误,但尚未添加到 master 分支。我只想拉取这一次提交,但我尝试过的所有操作都给出了一个错误,指出错误的对象。

这样做会更容易:

  • git fetch(将所有内容都带到本地)
  • git cherry-pick <SHA1 of the right commit>

获取完成后,您可以 cherry-pick 修复错误的提交(它应该是 git log origin/xxx 的一部分,xxx 是错误修复所在的分支在 GitHub 一方承诺)

一旦在本地 master 分支中本地挑选了错误修复,一个简单的 git 推送将在 GitHub master 分支上发布该新提交。


如果提交来自另一个分支:

git remote add otherfork /url/to/other/fork
git fetch otherfork
git cherry-pick <commit>