Git 如何合并commits成一个(squash)
两种方法。
方法一:使用git rebase
本地先从upstream拉一个branch
git checkout -b <main_branch>
git pull upstream <main_branch>
git checkout <dev_branch>
然后git rebase
git rebase -i <main_branch>
在跳出来的vim中对于需要squash的commit 前面把pick删掉写成s即可
注:这种方法如果upstream和本地对于起始commit都有update会有conflict squash不会成功
方法二:使用git reset
先通过git log查看一下要合并到哪个commit
然后简单明了使用
git reset --soft <commit_hash_to_squash_to> && git commit
再加上commit信息然后:x
保存成功即可