假设个人分支有commit master也有别人commit过了
然后我把本地master更新成最新的之后
为什么要
git checkout 个人分支
git merge master
git checkout master
git merge 个人分支
为什么不能直接
git checkout master
git merge 个人分支
???
我个人理解是这样本地的master就不会乱,是跟远程同步的,先把它合并到个人分支预演一下,看看合并了有没有问题。确保没问题以后再并到本地master 再推远程。
可是把个人分支合并into master,master乱了有什么关系呢,把冲突修好了不就行了吗。
求解答 (这里不讨论可以用rebase替代merge master这件事)
假如你们的工作流确实是第一种情况的话,那么你的想法是对的,操作得当的时候两种方式的结果并无不同,是这个工作流设计有问题。
一般情况下不推荐对本地的
master
作任何修改,使其始终与远程master
保持一致,如果线上有突发情况要处理,这时候最方便的就是直接从未改动的master
切一个临时分支去修复问题。如果本地所有分支都有
commit
记录的话,那么临时修复就要找一个分支回退到与线上一致的时间点,改完了又要回到之前的进度,十分繁琐。