1
我做了很多提交來測試我的倉庫。現在我想修復我的歷史,而不會丟失數據。我的歷史是這樣的:如何修復git commit歷史而不丟失數據?
A -> B -> C -> TEST D -> TEST E
但它應該是這樣的:
A -> B -> C (C + TEST D + TEST E)
我該怎麼辦呢? rebase
或stash
可以幫我嗎?
UPD好吧,這是我犯下的歷史:
commit 9f2c2e66d344aa27a5e681eb64c84738f2cd1d49
Author: babobka <[email protected]>
Date: Sat Jan 14 23:35:36 2017 +0300
Fixed files
commit 9ab55a4e4352daa9e5c27e9243d79a8c14dd6551
Merge: b52872c 856ee3f
Author: bbk <[email protected]>
Date: Sat Jan 14 23:29:16 2017 +0300
Merged in develop (pull request #1)
New tests. New project structure. FindBugs plugin.
commit 856ee3fb4725564c1c5c976eacadb6e21aa2b937
Author: babobka <[email protected]>
Date: Sat Jan 14 23:24:02 2017 +0300
New tests. New project structure. FindBugs plugin.
commit b52872c300bde67154cec3b732755a47f9ff76cd
Author: babobka <[email protected]>
Date: Mon Jan 9 23:36:02 2017 +0300
Very big refactor.Can not remember what was done.
commit 0b330267150db40fb814bfc21387762d80a99e44
Author: babobka <[email protected]>
Date: Tue Jan 3 01:13:05 2017 +0300
First commit
我做git rebase -i 9ab55a4e4352daa9e5c27e9243d79a8c14dd6551 -m 'Rebasing'
,但我看不到任何變化。仍然是同樣的歷史。
可能重複[壓制我最後一個X使用Git一起提交](http://stackoverflow.com/questions/5189560/squash-my-last-x-commits-together-using-git) – acm
我的理解是你想「壓扁」最後幾個提交到一個?看看這是否有幫助http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html – sinanspd
你是否正在編輯rebase交互模式配置?你是否改變了一些選詞來壓扁? – oklas