git merge的參數--squash的用處

本地分支處理問題的過程當中通常都是commit在本地分支,當驗證完畢後就須要merge到baseline上。git

 

在不懂merge的--squash這個參數前,我通常是這麼操做的:服務器

1.在本地分支"abc"上經過屢次commit把問題修復;post

2.repo sync一把,同步最新baselien到本地,這時也會自動從"abc"跳到"no branch"上,.net

這個"no branch"就是服務器的最新代碼。get

3.Git log,記下最新代碼分支的commit 號(即哈希值),假設爲:sd55fa65ds54af。同步

4.在剛纔的"no branch"上執行git merge 「abc」,把全部"abc"分支上的commit所有合到"no branch"上it

5.這時候再git log查看下,發現多了許多以前commit的記錄,這些記錄有時候很瑣碎,不必加到baseline上,class

因此我須要git reset --soft sd55fa65ds54af回退一下,而後再git commit -m添加新的message。word

6.而後再git pushdi

 

當有了--squash參數後,五、6兩步能夠省去大部分操做,以下:

4.git merge --squash abc

5.git commit -m添加message

直接OK!

相關文章
相關標籤/搜索