Py学习  »  Git

重新排序git历史记录并保留内容,而不是提交/修补

SGKoishi • 3 年前 • 1257 次点击  

例如,有这样的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 使用根提交)对所有提交进行排序,并创建一个全新的历史记录。有更好的方法吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/128087
 
1257 次点击  
文章 [ 1 ]  |  最新文章 3 年前