博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Git 分支合并(单文件合并,单commit合并)
阅读量:7095 次
发布时间:2019-06-28

本文共 890 字,大约阅读时间需要 2 分钟。

  hot3.png

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

问题1(单文件合并):

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

#切换到分支Agit 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命令合并就不行,可以使用下命令进行合并。

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

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

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

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

 

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

你可能感兴趣的文章
ubuntu中查看各种设备和资源的命令汇总
查看>>
Chrome好用的扩展插件
查看>>
mtd-utils 及 ubi-utils 交叉编译
查看>>
Hyper-V如何应用新的网卡
查看>>
封装jQuery Validate扩展验证方法
查看>>
windows 版Tomcat 7.0的配置
查看>>
三级联动菜单
查看>>
Android之循环显示图像的Android Gallery组件
查看>>
解决一个 MySQL 服务器进程 CPU 占用 100%解决一个 MySQL 服务器进程 CPU 占用 100%的技术笔记》[转]...
查看>>
如何隔離物件之間的相依性
查看>>
linux 下的爆破工具hydra
查看>>
Backup--批量备份和还原
查看>>
轮播组件iceSlider
查看>>
Spark编程指南
查看>>
python入门语法总结 zz
查看>>
向GridView的模板列绑定OnClientClick的函数时出现了奇怪的问题
查看>>
Android之代码创建布局
查看>>
xss实例-输出在<script></script>之间的情况
查看>>
Jquery操作table
查看>>
高并发处理案例
查看>>