我现在有一个工作流程,我正在处理一个错误,我所做的任何更改都有两种类型:
最初我添加一些日志记录并将其作为修订版A提交。然后我做了一些逻辑更改,用于修复bug并提交为修订版B.我现在对bug有了更多的了解,所以我可以添加更多的日志记录
我的问题是,如何将这些额外的支票添加回修订版A?最终,我希望最终得到两个提交 - 第一个只是额外的诊断,而修复是在第二个。我想功能有点像'修改先前提交',但我希望它适用于较旧的提交,而不是最新提交。
我可以看到我可以通过从修订版A创建一个分支并在那里提交新的更改,然后应用修订版B以及某种类型的压缩来实现这一点。有更简单的方法吗?
我正在使用git-svn
,但我想解决方案将是一个git one
答案 0 :(得分: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将非常错误!)。另外要小心不要丢失任何更改或提交。