Cra*_*tis 4 git git-rebase squash git-interactive-rebase
我已经执行了以下合并:
A---B---C---E (HEAD, merge of C and D)
/
D---|
Run Code Online (Sandbox Code Playgroud)
但我注意到E中的一些问题,并在F中修复了它们:
A---B---C---E---F (HEAD)
/
D---|
Run Code Online (Sandbox Code Playgroud)
我想修改提交,E以便它包含F.
当我尝试时git rebase -p -i HEAD~2,它会尝试创建常规(非合并)提交,甚至尝试让我重新解决在执行合并时已经解决的冲突E。
如何修复提交E,使其包含中所做的更改F?
git reset --soft E
git commit --amend
Run Code Online (Sandbox Code Playgroud)
应该足够了。它将重新创建合并提交(具有与 不同的哈希值E,我们称之为E'),同时插入您在E和 之间所做的任何更改F。