场景?
目前我们协同开发一般都会基于某个分支去创建自己的分支,基于当前创建的分支开发对应的功能,但是我们功能可能不是一天就开发完了,需要几天或者说提交好几次commit,这些commit我在功能开发完之后不需要,我只想要对应这个功能的一个commit,,,
解决
我们要合并代码肯定要先拉取最新代码到我们当前分支,并且避免很多天拉取,最好一天拉一次,减少冲突的问题,下面来基于我们最新代码来操作:
// 切换到我们要合并的分支,例如目前我要将 dev-1104 分支合并到 dev 分支
// 切换到 dev 分支
git checkout dev
// 顺便拉取下当前分支最新代码
git pull
// 有冲突解决冲突,无冲突合并
git merge dev-1104 --squash
// 提交,并伴随我们的提交日志
git commit -m 'feat:xxx功能'
// 提交到远程仓库
git push
合并可以使用git merge ( 等同于 git merge fast-forward)
你要消除多余commit,可以加上参数 --no-ff 就是
如 git merge --no-ff -m ‘日志信息’ dev(将dev合并到当前分支,生成一个新的commit)
具体可以参考git合并分支