1

在我的工作分支中,我有三个依赖补丁。他们都没有合并。

<commit id -1>
<Commit id -2>
<Commit id -3>

如何添加新的更改<Commit id -2>

目前这是我的做法。

git stash
git reset --hard HEAD~1
git stash apply
git add .
git commit --amend
git cherry-pick <commit id -1>

这工作没有任何问题。但是有没有更好的方法可以将暂存文件提交给我想要的任何提交?

4

1 回答 1

1

您可以使用交互式变基并编辑所需的提交。就像是:

git rebase --interactive abc4321d^

在编辑器中更改pickedite。应用更改 ( git stash pop),然后提交它们。

这样,您可以在同一运行中修改多个旧提交。要继续变基并处理下一次提交,您将使用:

git rebase --continue

在任何时候,如果您感觉自己做错了什么,您可以使用以下命令取消 rebase:

git rebase --abort

请注意,重写公共历史(与他人共享的回购历史)是一个坏习惯。只有在尚未发布的情况下,您才应该重写以前的提交。

于 2014-10-17T07:34:16.957 回答