如何在 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>
有人在 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>