平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“GIT合并分支的三种实现方法方式”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。

一、采用merge命令合并分支
1、目标:将dev分支合并到master分支
1.1、首先切换到master分支上
git checkout master
1.2、如果是多人开发的话 需把远程master上的代码pull下来
git pull origin master
//如果是自己一个开发就没有必要了,为了保鲜期间还是pull
1.3、然后我们把dev分支的代码合并到master上
git merge dev
//如果有冲突,手动解决冲突就行。
1.4、然后查看状态及执行提交命令
git status
On branch master Your branch is ahead of 'origin/master' by 12 commits. (use "git push" to publish your >local commits) nothing to
commit, working tree clean
//上面的意思就是你有12个commit,需要push到远程master上
> 最后执行下面提交命令
git push origin master
二、合同时某个分支上的单个commit(cherry-pick命令)
实际处理时,比如 feature 分支上的commit 82ecb31很重要,它含有一个bug的修改,或其他人想访问的内容。
从实现思路看,无论什么原因,你现在只需将82ecb31合同时到master,而不合并feature上的其他commits;
所以我们用git cherry-pick命令来做:
git checkout master
git cherry-pick 82ecb31
实际处理时,这样就好啦。 现在82ecb31就被合同时到master分支,并在master中添加了commit(作为一个新的commit)。
从实现思路看,cherry-pick和merge比较类似,如果git不能合同时代码改动(比如遇到合并冲突),git需你自己来解决冲突并手动添加commit。
实际处理时,这里git cherry-pick每次合同时过来会显示文件冲突(其实并没有冲突代码部分,只需手动解决既可)。
三、采用开发工具 IDEA进行分支代码合并
1、开发代码在master分支
现在要将代码合到branch_cmb71分支

2、首先
在idea左下角切换分支到branch_cmb71分支
3、点击右下角的Git:branch_cmb71
从实现思路看,找到Local Branches,鼠标左键选中master分支,在弹出的框中,选择compare with Current

4、选择左上角的file
选择要合同时的文件,右键点击get from branch


5、这样就把代码合同时到branch_cmb71分支的本地仓库了
从实现思路看,随后再进行commit,push操作就把代码提交到branch_cmb71分支的远程仓库了
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多兼容脚本之家。
- Git开发分支合并到develop分支实现方法
- IDEA Git分支branch操作,新建和合并方式
- IDEA采用Git对分支进行开发合并的全过程
- 采用Idea自带的git功能进行分支合并过程
- 在Git中高效合并分支的完整指南