對分支進行rebase
-
從master分支checkout出fork分支,並在master和fork上都進行了一些修改
-
現在fork分支想要及時的同步master分支上的修改,避免在已經失效的代碼上繼續工作
-
該過程總的提交樹變化如下:
對一段commit進行整理(squash)
很多開源項目要求參與者在發起RP前對本次的commit進行squash,關聯上該RP的issue編號,下面看下如何達到此目的:
-
首先我在fork分支上進行了隨意的兩次commit
-
然后使用
git rebase -i
命令進行整理命令格式:
git rebase -i <startpoint> <endpoint>
需要注意<startpoint> <endpoint>是左開右 閉,所以<startpoint>應該是你需要整理的commit的上一 次提交id。
git rebase -i e14ed9d^ 342889d
把除去第一行的其他行的pick命令修改為squash命令
然后按照相關開源項目要求編輯整理后的comment注釋
-
最好查看提交記錄確認提交歷史已經改變
-
此時HEAD處於了游離狀態,所以我們需要把fork分支的HEAD重置到最后的commit