一般项目在开发阶段,都会创建多个分支,用于不同开发阶段的版本发布如:master、dev等,之所以会有这种多分支情况,就是项目在不同的开发阶段,新的业务会对之前业务造成影响,所以建多个分支用来发布不同的迭代版本,直至一个迭代完成测试、上线。
一、如何将某个分支的某次提交合到目标分支上
1、比如我现在有两个分支master和tenant,在tenant分支上有多次提交,但是我只想提交某两次在master分支
2、在项目目录下打开黑窗口
3、执行 git branch 命令查看当前分支,*号代表当前分支
>git branch
* tenant
master
4、执行 git log 查看提交日志,并记下要想要合并提交的commit号
5、执行 git checkout +分支名,切换到目标分支
>git checkout master
6、执行 git cherry-pick + commit号(在目标分支下执行该命令)
>git cherry-pick b11b2........
>git cherry-pick 84084........
7、执行 git push 将此次更改推到远程
git push
8、查看idea中master分支的提交日志可以看到,已经有了我们合并的两次提交
注意:
合并某次提交,并不是合并某次提交修改的内容,而且会将某次提交时的文件合并到分支,将某个分支的一个(或多个)提交合并到另一个分支,注意不是merge,merge是全部合并、而我们要的是可选择的,就要用到 Cherry pick;
二、如何把分支代码合并到master
1、首先切换到分支;
>git checkout hellomonkey
2、使用git pull 把分支代码pull下来;
>git pull
3、切换到主分支;
>git checkout master
4、把分支的代码merge到主分支;
>git merge hellomonkey
5、git push推上去ok完成,现在 你自己分支的代码就合并到主分支上了。
>git push
三、如何把master分支代码合并到自己的分支
master分支的代码领先自己的分支,git 如何把master分支代码合并到自己的分支
1、首先切换到主分支
git checkout master
2、使用git pull 把领先的主分支代码pull下来
git pull
3、切换到自己的分支
git checkout xxx(自己的分支)
4、把主分支的代码merge到自己的分支
git merge master
5、push推上去ok完成,现在 你自己分支的代码就和主分支的代码一样了
git push origin 自己分支名
版权归原作者 等到鸡吃完米 所有, 如有侵权,请联系我们删除。