2014-09-26 81 views

回答

5

手冊,但與固定的時間對於任何數量的提交選項

git reset --soft HEAD~X 
git commit 

,如果你事先知道要做到這一點,你可以鍵入

git commit --fixup HEAD 

,而不是當你正在git commit。然後,如果你有rebase.autosquash配置,或者如果你通過--autosquash rebase將會爲你做所有的壓縮。

如果你喜歡危險地生活,你可以創建一個別名,如下所示,它將爲你做壁球。基本上你可以用當前頭部的樹手動調用commit-tree,並創建一個指向HEAD〜X的提交,在這裏你將X作爲參數傳遞給一個名爲squashx或別的東西的別名。以這種方式創建提交不會更新分支,因此您需要通過update-ref強制更新當前分支。這個表單循環來自HEAD的提交消息。

git update-ref HEAD $(git log --format=%B -n 1 HEAD | git commit-tree -p HEAD~$1 HEAD^{tree} -F -) 
+0

這就是很多的信息安德魯,非常感謝:) – Ajay 2014-09-26 06:25:41

相關問題