1.1 git merge --squash
主分支:main
开发分支:test
当前在test分支提交了8个commits,功能已经开发完成,需要将test分支合并到main分支,但是不想在合并时候,看到有8个commits,而是指显示一个commit记录,即将test分支下的8个commits压缩成一个。
方法:在main分支使用如下命令:
git merge --squash test
此时,在main分支下会将test中的差异内容加入(类似git add),
需要手动git commit添加comment,
最后使用git push将代码同步到远程repository。
缺点:直接在目标分支提交commit,而不是合并方式。
1.2 git reset
1.3 git rebase
可以使用以下命令:
git rebase -i HEAD~n
n:表示从当前commit开始计算,计算到第一次提交的commit时候的数字。
或者
git rebase -i lastCommitID
lastCommitID是n对应的commit ID上一个提交。(522c3)
将需要压缩的commit,最前面用squash或者s。
修改第一条commit的comment。