0

目前我有一个工作流程,我正在处理一个错误,我所做的任何更改都有两种类型:

  • 改进日志记录和断言以尝试调查错误,但不影响逻辑(尽管有Heisenbugs
  • 尝试修复错误的逻辑更改

最初,我添加了一些日志记录并将其作为修订版 A 提交。然后我进行了一些逻辑更改以修复错误并提交为修订版 B。我现在对错误有了更多的了解,因此我可以添加更多的日志记录。

我的问题是,如何将这些额外的检查添加回修订版 A?最终我想以两个提交结束——第一个只是额外的诊断,而修复在第二个。我猜这个功能有点像“修改以前的提交”,但我希望它适用于较旧的提交,而不是最新的提交。

我可以看到我可以通过从修订 A 创建一个分支并在那里提交新的更改,然后应用修订 B 等某种挤压来做到这一点。有没有更简单的方法?

我正在使用git-svn,但我想解决方案将是一个 git

4

1 回答 1

2

如果您尚未将更改提交到 subversion 存储库,则可以执行交互式 rebase。

git rebase -i <commit before your changes>
# define order you want commits to appear
# optionally merge commits by replacing 'pick' with 'squash'/'s' or 'fixup'/'f'
# save and exit editor
# make sure resulting history is correct

这会改变历史,所以你永远不应该在已发布的历史上这样做。并且永远不要将历史记录写入 subversion 存储库(您的下一个 dcommit 将出错!)。还要小心不要丢失任何更改或提交。

于 2013-10-25T08:40:31.537 回答