Git多次提交合并

在使用git多人协作开发项目时,常遇到这种情况:


规范的代码提交需要每次merge只有一次提交.
在这里可以看到,dev分支有两次提交,并且main分支更新了一次提交.
确保代码是最新的再执行下面操作:
git checkout dev

复制main分支的hash值,比如我这里的远端main分支的hash,执行变基:
git rebase -i 249f95101d36b0283b03e38b5a421553b69e68e0
如果有冲突代码.需要在这里开始解决冲突.解决完冲突后执行
git rebase --conntinue
这时候将第一个commit保留pick,其余改为squash或者s


保存后会新弹出一个文件,这里便是新的提交内容,

这时候我们可以发现,本地的dev分支变成了一次提交,并且紧跟着main分支:

这时候把本地的dev分支push到远端,覆盖掉之前的分支.
git push origin dev --force