Git 分支合并(单文件合并,单commit合并)

在使用Git时,我们经常会创建两个或两个以上的分支,但在合并分支就出现问题了。

问题1(单文件合并):

    分支A,分支B,开发时使用分支B,开发完成提交,并合并到分支A时,但此时发现,只想合并某1个文件或某几个文件到分支A,这时候再使用 Merge命令合并就不行,可以使用下命令进行合并。

#切换到分支A
git checkout A  
#把B分支的a.html合并到A分支
git checkout --patch B a.html  

    在执行第二个命令时 中间会给出文件的内容然后说 not apply to index! ,直接 y 下去,就完成了合并。

问题2(单commit合并):

    分支A,分支B,开发时使用分支B,开发完成提交,并合并到分支A时,但此时发现,只想合并某1个commit或某几个commit到分支A,这时候再使用 Merge命令合并就不行,可以使用下命令进行合并。

#切换到分析B
git checkout B
#查看commit log日志,主要记录commit编号
git log
#切换到分析B
git checkout A
#把62ecb3编号的commit合并到A分支
git cherry-pick 62ecb3  

问题3(系列commit合并,此方法未验证)

    在一些特性情况下,合并单个commit并不够,你需要合并一系列相连的commits。这种情况下就不要选择cherry-pick了,rebase 更适合。还以上例为例,假设你需要合并B分支的commit76cada ~62ecb3 到A分支。

#切换到分析B
git checkout B
#需要基于B创建一个新的分支,并指明新分支的最后一个commit
git checkout -bnewbranch 62ecb3  
#rebase这个新分支的commit到master(--ontomaster)。76cada^ 指明你想从哪个特定的commit开始
git rebase --ontomaster 76cada^  

 

转载于:https://my.oschina.net/sdlvzg/blog/1608861

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值