git 慎用命令#
- 后悔药
- 归并
- 重写
git 多分支合并#
场景#
线上有2个或多个分支需要合并,本地开发只有一个分支 现在需要把本地开发的分支合并到远端多个分支
错误做法#
- 开发时首先再本地切一个新的dev分支
- 开发完成并验证后,将新的dev分支合并到本地主分支
- 本地主分支推动到线上本地仓主分支
- 将本地仓主分支直接合并到远端所有合并分支
出现的问题是,如果远端所有分支,都是一样的话,这样合并是ok的. 但是现在的情况是远端的各个分支已经有不同的开发状态了. 如果合并上去的话,就会把线上所有的分支信息搞混乱 并且你自己的分支也会携带不属于你自己修改的代码 有和我一样犯错的小伙伴,请不要这样再处理了
正确做法#
方法一#
- 首先更新所有分支
- 查看远程仓所有分支
- 新建一个本地需要推送的分支
- 查看是否拉取成功
- 切到开发完成分支
- 查看需要pick的logId
- 切需要推送的分支
- pick需要合并的logId
- 查看是否是pick正确的代码并push到远端
- 合并到主仓即可
方法二#
- 合并到主仓后,等合并成功后cherry-pick到其他仓
- 这个办法比较简单,但是需要等待
- 其次我只能全部合并,如果想要部分合并logId,还是用法一吧