Git 将一个分支的提交更改应用到另一个分支的现有提交

Git apply changes from a commit of a branch to an existing commit of other branch

如果之前已经讨论过这个问题,我很抱歉,但是由于我还没有找到针对这个特定案例的任何解决方案,所以我想我会在这里问一下。

我有一个分支(称之为分支 A)有 1 个提交并从该分支创建了一个新的拉取请求。在等待审查时,我创建了另一个分支(称为 B),其中 A 作为 HEAD,因此我也提交了它。我在分支 B 工作,在那段时间有人告诉我更新 A 中的提交。我使用 git reset 并将更改推回 A。之后我的 PR 通过了。现在我应该使用哪个命令来更新从分支 A 到 B 的更改?我使用了 cherry-pick 但它在 B 中创建了另一个提交,我不希望这样,我希望更新该提交 "silently".

尽管有我的评论,但我知道您更改了基于分支 B 的提交。要在 B 上提交该提交,同时删除 HEAD 上的原始提交,请按照以下步骤操作:

  1. git checkout <branch B>(移动到分支 B)
  2. git reset --hard HEAD~2(删除分支中的前两个提交)
  3. git cherry-pick <SHA-hash of the new commit in branch A>(在分支中添加新提交)