1
假设我们有一个git提交历史看起来像:重写GIT中提交历史
ZZ [原点/主] A - >乙 - “ç - > d - > E [主]
我们希望:
- 倒带历史回
A
之前。 - 请保持工作目录
E
。 - 将
A..E
的所有更改集合合并为一个提交。 - 将结果推送到远程。
结果应该是这样的:
ZZ - > XX [主] [原点/主]
其中XX是提交包含之前提交甲变化.. Ë
假设我们有一个git提交历史看起来像:重写GIT中提交历史
ZZ [原点/主] A - >乙 - “ç - > d - > E [主]
我们希望:
A
之前。E
。A..E
的所有更改集合合并为一个提交。结果应该是这样的:
ZZ - > XX [主] [原点/主]
其中XX是提交包含之前提交甲变化.. Ë
你可以试试:
git reset --hard E
git reset --soft ZZ
git commit 'comment'
git push orgin master
--soft
不触及索引文件,也没有在所有的工作树(但重置头,只是likeall模式一样)。这会将所有更改的文件“更改为已提交”,因为git状态会起作用。
快速,简单,优雅。谢谢。 – Kivin 2013-03-20 02:59:59
@Kivin欢迎:) – pktangyue 2013-03-20 03:01:22