假设我有一个补丁系列准备好提交给一些开源项目。 例如,A,B,C,D和E对应于单独提交。 在提交C之后,我发现了几个小错误(例如,编码风格),我修复了几个所有提交(A到E)以某种方式相关的地方。并且,我将更改改为F. 问题是:
我可以将F中的更改应用于单独的提交(即A到E),同时保持A到E的提交吗?
答案 0 :(得分:0)
您可以使用交互式rebase(git rebase -i
)编辑系列中的各个提交。但请注意,如果您已经发布了提交系列,则重定位可能会产生重大影响,因为它会重写历史记录。
然而,只要你将补丁系列保密,到目前为止,修改它应该不是问题。您可以使用“编辑”操作,这将导致交互式rebase在给定提交之前停止以允许您对其进行修改(之后您可以继续git rebase --continue
)。
有关详细信息,请参阅git help rebase
。