社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

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

SGKoishi • 3 年前 • 1260 次点击  

例如,有这样的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
 
1260 次点击  
文章 [ 1 ]  |  最新文章 3 年前