2015-11-04 28 views
0

我對某些文件進行了更改。我意識到這些修改將會被適當地修改爲一個特定的事前提交(例如,HEAD〜5,5提交)。一般來說,我可以git rebase來提交,執行修改,然後返回HEAD。是否有任何捷徑將一組更改應用於特定的提交,並且在完成所有重新綁定後仍位於HEAD中?將工作/分期更改直接應用於提交

+0

你可以承諾的頭,然後做一個互動變基到頭〜6或任何和重新安排提交,這樣你的新一個就在你想要修改的那個之上,然後壓扁它......我認爲這將起作用 – kcraigie

回答

1

這裏的一般規則是,如kcraigie noted in a comment,只是提交「現在」,然後使用交互式底座來移動它,並將其變成一個壁球或修復。

Interactive rebase和commit可以協調以支持可以「自動壓扁」的功能。請參閱the git commit documentation中的--squash--fixup說明。

它的工作方式其實非常簡單:使用這些選項進行的提交僅具有正確的字符串(它始於squash!fixup!,後面跟着提交的單行消息)定影)。然後,當您以後運行git rebase -i --autosquash時,重定位代碼將自動移動pick行,並按照指示自動將pick更改爲squashfixup

(如果你願意,你可以提交,然後立即運行底墊。)