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