我在旧推送提交中发现了一个错误。如何更改并应用于以后的提交?

时间:2017-01-25 12:23:33

标签: git

我有以下历史:

0---1---2---HEAD

我发现提交0有错误。现在我想修复它,并将此修补程序应用于提交12HEAD

最好的方法是什么?

1 个答案:

答案 0 :(得分:4)

从0创建一个新分支,应用修复,并将旧分支重新绑定到新分支。然后,您可以使用rebase -i将修复程序压缩为0。

更新的git版本支持--fixup次提交,因此您只需创建一个包含修复程序,然后执行rebase -i --autosquash并解决冲突。

请注意,如果已经推送了分支,则不应更改历史记录,并且在没有使用同一分支的其他开发人员的同意的情况下也是如此。