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!

相关文章
相关标签/搜索