在使用Git
作为版控时,会提交许多大大小小的commit
,而把这些commit
拼凑起来才会是一个完整的任务,为了避免太多的commit
造成版控的混乱,就会将这些commit
给压缩成一个完整的名称。
log
。$ git log
有两种方法可用来选择需要合併的commit
。方法一、此步骤是指此从HEAD
开始数来到第三个commit
,包含自身。
$ git rebase -i HEAD~3
方法二、此步骤是指此版本号
之前的commit
,不包含自身。
$ git rebase -i 版本号
执行rebase
命令后会看到所要合併的commit
。pick 6cdfbc0 '注释**********'pick 793ee97 '注释*********'pick 879e453 '注释**********'
从第二个开始把pick
改成squash
或s
然后储存关闭编辑。pick 6cdfbc0 '注释**********'s 793ee97 '注释*********'s 879e453 '注释**********'
没有任何冲突的话会出现以下窗口编辑,可重新编辑commit
完后储存关闭编辑。This is a combination of 4 commits. #The first commit’s message is: 注释...... The 2nd commit’s message is: 注释...... The 3rd commit’s message is: 注释...... Please enter the commit message for your changes. Lines starting # with ‘#’ will be ignored, and an empty message aborts the commit.
再次查询log
,就会发现已把上述commit
给合併完成。ps. 放弃此次commit
压缩
$ git rebase --abort