**一、開(kāi)發(fā)分支(dev)上的代碼達(dá)到上線的標(biāo)準(zhǔn)后,要合并到 master 分支**
```
git checkout dev
git pull
git checkout master
git merge dev
git push -u origin master
二、當(dāng)master代碼改動(dòng)了,需要更新開(kāi)發(fā)分支(dev)上的代碼
git checkout master
git pull
git checkout dev
git merge master
```
————————————————————————————————————————
**三、合并分支代碼**
分支上的代碼寫完確定沒(méi)有問(wèn)題以后,就要進(jìn)行分支的合并,假設(shè)這里有2個(gè)名稱為A和B的分支,現(xiàn)在想要在B的基礎(chǔ)上把A的代碼merge過(guò)來(lái)
(1)查看所有遠(yuǎn)程分支
git branch -a
(2)分別checkout A 和 B 分支
git checkout A
git checkout B
(3)在B的基礎(chǔ)上執(zhí)行merge
git merge A
(4)如果沒(méi)有報(bào)錯(cuò),直接執(zhí)行push指令,將代碼提交到B
git push origin B
如果報(bào)錯(cuò)了,即產(chǎn)生沖突了,則需要根據(jù)命令行里的提示(以CONFLICT開(kāi)頭,以發(fā)生沖突的文件地址結(jié)尾)去項(xiàng)目文件相應(yīng)的地方修改代碼

找到發(fā)生沖突的文件,會(huì)發(fā)現(xiàn)有g(shù)it自動(dòng)標(biāo)注的版本沖突提示,提示以"====="為分割線,分割線的上面是B分支發(fā)生沖突的代碼(代碼截止至"<<<<<>>>>>A分支名稱"),這時(shí)需要根據(jù)具體代碼功能進(jìn)行刪除或修改,并記得將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就完成了!
如果合并的時(shí)候發(fā)現(xiàn)沖突太多,或因其它原因取消合并,輸入以下指令
git merge --abort
參考文章:
1、https://blog.csdn.net/tmacsky/article/details/78795894