例如,有这样的git历史记录
root-commit 1 @ day 1
+ d1
commit 2 @ day 3
- d1
+ d3
commit 3 @ day 2
- d3
+ d2
第2天和第3天的两次提交出现问题,我想交换它们。
我希望结果是
root-commit 1 @ day 1
+ d1
commit 2 @ day 2
- d1
+ d2
commit 3 @ day 3
- d2
+ d3
历史是线性的,没有任何分支或合并。我试图使用rebase,但它似乎在操作现有的提交(补丁),我将放弃这些补丁,例如
- d1 + d3
犯罪由于冲突,重新定基将无法应用,需要手动解决,这对我来说是不可行的。
我能想到的方法就是
git archive
(或
git diff
使用根提交)对所有提交进行排序,并创建一个全新的历史记录。有更好的方法吗?