git分支合并并拉新分支 cherryPick

Git cherry-pick学习与交流

在某分支a上共提交了8次,因为特定原因只需要上线其中第一和第六次提交的内容
针对这种场景,最好的方式就是Git 提供的cherryPick方式

具体实施方式如下:
新建分支b,用于接收第一和第六次提交。
将idea当前分支切换到分支b,然后展示分支a的提交log,如下图:

直接在需要迁移的提交上右键,选择,cherry-Pick,之后有冲突需要解决冲突(跟merge的冲突一样),然后push的远程分支即可。

 

git分支合并并拉新分支

假设已经有两个并行分支branch1和branch2,两个分支均有更新,现在需要合并两者,并且拉出新的分支branch3
一般做法:直接将branch1合并到branch2,然后根据branch2创建新的分支branch3,这种方式其实不是特别好,因为可能处理冲突有问题的话,就不太容易追溯了

推荐做法:
依据branch2 先拉出新的分支branch3,然后将branch1中的合并到branch3即可

优点:能够保持branch1和branch2分支不受影响,易于后期代码的追溯
git指令如下:


1、创建新的分支branch3


先本地拉新分支:git checkout -b branch3 branch2
新分支推到中央:git push -u origin branch3
执行上面指令后,以后执行git push在缺省推送分支的场景下就会默认推送到branch3

 

2、现在将branch1中的修改合并到branch3中


本地分支切换到branch3: git checkout branch3
保证本地branch3是最新的:git pull
将branch1的修改拉到本地brnahc3:git pull origin branch1
注意此过程可能存在冲突,那么需要修改和处理所有的冲突文件 ,然后执行 git add -u和git commit -m "message"提交。
注意:此时你的本地仓储中的branch3就是合并后的代码了
将brnach3的修改推到远程仓库:git push

3、当然分支合并的另一种方式是merge


切到brnach1:git checkout branch1
将branch3中的更新拉到本地branch1:git pull origin branch3
本地切到branch3:git checkout branch3
本地branhc1中已经commit的更新合并到本地branch3:git merge branch1
将本地最新的branch3提交到远程:git push

#如果需要删除branch1
git branch -d branch1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值