【发布时间】:2013-07-26 04:54:29
【问题描述】:
假设我有一个补丁系列准备提交到某个开源项目。 例如,对应于单个提交的 A、B、C、D 和 E。 在提交 C 之后,我发现了几个小错误(例如,编码风格),我修复了所有提交(A 到 E)在某种程度上相关的几个地方。而且,我将更改提交给 F。 问题是:
我可以将 F 中的更改应用到单独的提交(即 A 到 E),同时保持 A 到 E 的提交吗?
【问题讨论】:
标签: git patch git-commit
假设我有一个补丁系列准备提交到某个开源项目。 例如,对应于单个提交的 A、B、C、D 和 E。 在提交 C 之后,我发现了几个小错误(例如,编码风格),我修复了所有提交(A 到 E)在某种程度上相关的几个地方。而且,我将更改提交给 F。 问题是:
我可以将 F 中的更改应用到单独的提交(即 A 到 E),同时保持 A 到 E 的提交吗?
【问题讨论】:
标签: git patch git-commit
您可以使用交互式变基 (git rebase -i) 编辑系列中的单个提交。但是,请注意,如果您已经发布了提交系列,那么变基可能会产生重大后果,因为它会重写历史。
但是,只要您到目前为止一直保持补丁系列的私密性,那么重新设置它应该不是问题。您可以使用“编辑”操作,这将导致交互式变基在给定提交之前停止以允许您对其进行修改(之后您可以继续使用git rebase --continue)。
更多详情请见git help rebase。
【讨论】: