我經常發現自己處於一個功能分支上,發生了變化。於是,我找出我必須做出改變,所以我:Git:在同一操作中添加,提交和重新綁定/壓扁
- 請使用
git commit -m <commit message>
- 調整基線的使用
git add -A
- 提交的變化的變化
- 添加的所有文件更改索引使用
git rebase -i HEAD~2
更改並壓扁最後兩個提交,並壓扁最新的提交,以便我最終提交1個提交
這是我經常使用很多的流程,但它感覺q麻煩和手工。有沒有更智能的方法來做到這一點,還是僅僅爲這類任務創建shell函數或別名更爲常見?我到4
還沒有嘗試過,但也許'--amend'和'-all'一起工作,所以你可以省略'git add',如果它只是改變現有的文件? –
@MthethewStrawbridge我從來沒有聽說過這個,但是'git add -A'曾經不會讓我感到困擾:-) –
使用'--amend'通常是正確的答案。我發現有用的是要注意它的作用,實質上是將當前的提交放在一邊,並用新的修改後的提交代替它。正如你注意到的那樣,這個「重寫歷史」(假裝你的「修改」提交從未發生過:*不要看那個,而是看看這個新的)*)。但這是一個非常普遍的情況:*工作,工作,工作;測試。耶,錯誤修復!承諾!運行完整的測試套件。哎呀,忘了特例!重新修復,修改提交,重新運行完整的測試套件... * – torek