Git:如何在没有所有历史记录的情况下挑选一个提交

Git: How to cherry-pick a commit without all previous history

我想将我的 current 存储库中特定提交的一些特定更改添加到我的 upstream 存储库中。

运行 像这样: git push upstream <commit SHA>:<remotebranchname>

添加提交加上所有以前的更改

运行 类似于

git checkout -b new-branch 
git pull <remote> <upstream branch> branch is
git cherry-pick <commit hash>
git push <remote> new-branch

同时写入所有以前的更改。

我只是想将那个提交的具体更改写入 upstream 存储库,因此它不包括我的 current 存储库中以前提交所做的更改,这些更改不在upstream.

Whosebug 上有很多关于 cherry-pickrebase 的信息,但 none 回答了这个非常具体的问题。

您可以在上游存储库中从远程分支创建本地分支,然后挑选。

假设 "upstream" 是您的上游遥控器的名称,您可以执行以下操作:

git fetch upstream
git checkout -b new-branch upstream/<upstream branch>
git cherry-pick <commit hash>
git push upstream new-branch

您可以使用

检查上游仓库的名称
git remote -v