5. Merge
场景1:本地分支间合并
命令 | 作用 | 延展阅读 |
---|---|---|
git merge dev | 在master 分支执行该命令,则把dev 分支内容merge 到master 分支上 | 自证 |
场景2:远程release分支
合并到本地dev分支
命令 | 作用 | 延展阅读 |
---|---|---|
方式1:最省事方式 | ||
1. git checkout dev 2. git pull == 1. git checkout dev 2. git fetch 3. git merge | origin/dev ☞ heads/dev | 自证 |
方式2:最省事+最严谨+最高效 | ||
1. git checkout dev 2. git pull origin release == 1. git checkout dev 2. git fetch origin release 3. git merge origin/release | 自证 ☆☆☆☆☆ | |
方式2的简化:会浪费些性能 | ||
1. git checkout dev 2. git fetch origin 3. git merge origin/release | 自证 ☆☆☆☆☆ | |
方式3:基于本地分支之间merge | ||
1. git checkout release 2. git pull 3. git checkout dev 4. git merge release | 自证 | |
方式4:主要需知道FETCH_HEAD含义,此方法太浪仅做了解即可 | ||
1. git checkout dev 2. git fetch origin release 3. git merge FETCH_HEAD | 自证 |
场景3:git merge origin master
和git merge origin/master
的区别
命令 | 作用 | 延展阅读 |
---|---|---|
**1. git checkout dev 2. git fetch origin master 3. git merge origin release == 1. git checkout dev 2. git fetch origin master 3. git merge origin/master release | 前提:master 为origin 默认分支1. 拉取最新 origin/master 2. 把 origin/master 分支和heads/release 分支merge ☞ heads/dev | 链接 |
场景4:merge
发生冲突时☞撤销merge
命令 | 作用 | 延展阅读 |
---|---|---|
1. git checkout dev 2. git pull origin release 3. 发生冲突 方式1: git reset --hard HEAD 方式2: git reset --hard 8ec554 方式3: git merge --abort | 撤销merge | 自证 |
场景5:merge
发生冲突时☞解决冲突
命令 | 作用 | 延展阅读 |
---|---|---|
1. git checkout release 2. git pull origin release 3. 本地解决冲突 4. git add . 5. git commit -m "Msg" 6. git push | 把origin/release 合入本地release分支 然后推送 本地release分支 到远程仓库 | |
1. git checkout dev 2. git fetch 3. git merge origin/release 4. 本地解决冲突 5. git add . 6. git commit -m "Msg" 7. git push | 把origin/release 合入本地dev分支 然后推送 本地dev分支 到远程仓库 |
场景6:版本V0118分支
开发到一定阶段时,把版本release分支
回合到版本V0118分支
命令 | 作用 | 延展阅读 |
---|---|---|
1. git fetch 2. git checkout -b v0118 origin/release 3. 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常用命令汇总