5. Merge
场景1:本地分支间合并
| 命令 | 作用 | 延展阅读 |
|---|---|---|
git merge dev | 在master分支执行该命令,则把dev分支内容merge到master分支上 | 自证 |
场景2:远程release分支合并到本地dev分支
| 命令 | 作用 | 延展阅读 |
|---|---|---|
| 方式1:最省事方式 | ||
1. git checkout dev2. git pull==1. git checkout dev2. git fetch3. git merge | origin/dev ☞ heads/dev | 自证 |
| 方式2:最省事+最严谨+最高效 | ||
1. git checkout dev2. git pull origin release==1. git checkout dev2. git fetch origin release3. git merge origin/release | 自证 ☆☆☆☆☆ | |
| 方式2的简化:会浪费些性能 | ||
1. git checkout dev2. git fetch origin3. git merge origin/release | 自证 ☆☆☆☆☆ | |
| 方式3:基于本地分支之间merge | ||
1. git checkout release2. git pull3. git checkout dev4. git merge release | 自证 | |
| 方式4:主要需知道FETCH_HEAD含义,此方法太浪仅做了解即可 | ||
1. git checkout dev2. git fetch origin release3. git merge FETCH_HEAD | 自证 |
场景3:git merge origin master和git merge origin/master的区别
| 命令 | 作用 | 延展阅读 |
|---|---|---|
**1. git checkout dev2. git fetch origin master 3. git merge origin release== 1. git checkout dev2. git fetch origin master 3. git merge origin/master release | 前提:master为origin默认分支1. 拉取最新 origin/master2. 把 origin/master 分支和heads/release分支merge ☞ heads/dev | 链接 |
场景4:merge发生冲突时☞撤销merge
| 命令 | 作用 | 延展阅读 |
|---|---|---|
1. git checkout dev2. git pull origin release3. 发生冲突 方式1: git reset --hard HEAD方式2: git reset --hard 8ec554方式3: git merge --abort | 撤销merge | 自证 |
场景5:merge发生冲突时☞解决冲突
| 命令 | 作用 | 延展阅读 |
|---|---|---|
1. git checkout release2. git pull origin release3. 本地解决冲突 4. git add .5. git commit -m "Msg"6. git push | 把origin/release合入本地release分支然后推送 本地release分支到远程仓库 | |
1. git checkout dev2. git fetch3. git merge origin/release4. 本地解决冲突 5. git add .6. git commit -m "Msg"7. git push | 把origin/release合入本地dev分支然后推送 本地dev分支到远程仓库 |
场景6:版本V0118分支开发到一定阶段时,把版本release分支回合到版本V0118分支
| 命令 | 作用 | 延展阅读 |
|---|---|---|
1. git fetch2. git checkout -b v0118 origin/release3. date >> 1.txt && git add . && git commit -m "msg" ☞ 模拟v0118分支提交业务代码期间 远程release分支被合入诸多别的业务模块的代码提交v0118分支开发到一定阶段时,维护性的把release分支回合到 v0118分支1. git fetch origin release v0118 ☞ fetch两个分支对应远程分支的最新提交2. git checkout -b release origin/release ☞ 拉取release分支3. git merge origin/v0118 ☞ v0118分支合入release分支4. 解决冲突 5. git push origin HEAD:v0118 ☞ 合入v0118分支的release分支充当远程v0118分支 | 此行为可保护好提交历史 | 参考 超神推荐 |

拓展:Git常用命令汇总


















![[ JVM ] 常用参数 优化参考](https://img-blog.csdnimg.cn/f4273bc357724815b1db8fb8d8a513dd.png)
