**一、开发分支(dev)上的代码达到上线的标准后,要合并到 master 分支**
```
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master
二、当master代码改动了,需要更新开发分支(dev)上的代码
git checkout master
git pull
git checkout dev
git merge master
```
————————————————————————————————————————
**三、合并分支代码**
分支上的代码写完确定没有问题以后,就要进行分支的合并,假设这里有2个名称为A和B的分支,现在想要在B的基础上把A的代码merge过来
(1)查看所有远程分支
git branch -a
(2)分别checkout A 和 B 分支
git checkout A
git checkout B
(3)在B的基础上执行merge
git merge A
(4)如果没有报错,直接执行push指令,将代码提交到B
git push origin B
如果报错了,即产生冲突了,则需要根据命令行里的提示(以CONFLICT开头,以发生冲突的文件地址结尾)去项目文件相应的地方修改代码
![image](https://upload-images.jianshu.io/upload_images/12953191-c844b0f132f93604.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/881/format/webp)
找到发生冲突的文件,会发现有git自动标注的版本冲突提示,提示以"====="为分割线,分割线的上面是B分支发生冲突的代码(代码截止至"<<<<<>>>>>A分支名称"),这时需要根据具体代码功能进行删除或修改,并记得将git提示冲突的代码注释掉或删掉
***<<<<<<< HEAD *//解决完冲突后记得将git提示冲突的代码注释掉或删掉**
branch B's content
***======= //解决完冲突后记得将git提示冲突的代码注释掉或删掉***
branch A's content
***>>>>>>> psr/psr-02 //解决完冲突后记得将git提示冲突的代码注释掉或删掉***
修改完后,把冲突的文件添加到缓存,增加备注并提交到分支B
git add .
git commit -m "xxx" (xxx为本次提交代码的备注)
git push origin B
至此,A和B分支的merge就完成了!
如果合并的时候发现冲突太多,或因其它原因取消合并,输入以下指令
git merge --abort
参考文章:
1、https://blog.csdn.net/tmacsky/article/details/78795894