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保存成功即可
本文介绍了如何使用gitrebase和gitreset将多个commits合并为一个。方法一涉及从upstream拉取branch,切换到dev_branch,然后使用gitrebase-i进行交互式rebasing,将pick改为s来squash。方法二则通过gitlog找到目标commit,使用gitreset--soft结合gitcommit完成。注意,rebase可能因冲突导致失败。
4172

被折叠的 条评论
为什么被折叠?



