有的时候,我们在一个分支上提交了几个commit,然后我们会需要提交到其他分支上,一般情况下,我们会采用的merge的方式来合并分支,另外一种方式是只需要其中几个提交时,我们会cherry-pick到分支上,那么当要cherry-pick的几个提交之间有依赖关系要怎么处理呢?

比如,我们在branch_test上修改了三个提交,分别是commit1,commit2,commit3,其中commit1的改动是添加了一个test.txt的文件,commit2是在test.txt文件中写入了"test",commit3是再test.txt中追加了"test11",我们需要将这三个提交cherry-pick到branch_target分支上,很明显,这三个提交是有依赖关系的

commit3  (再将“test11”追加到test.txt)

commit2    (将“test”写入test.txt)

commit1     (创建test.txt)

有的人可能会觉得,既然最后一个提交commit3已经是最终结果了,那么直接cherry-pick这个提交到目的分支上不就可以了吗?其实是不行的,我在gerrit上直接cherry-pick这个提交到branch_target分支,报错失败,有冲突。既然有冲突,那么就解决冲突,我把这个提交使用命令行的方式cherry-pick到本地的branch_target分支上,结果报错是“delete by us :test.txt ”,是因为这个文件在这个分支上并不存在,所以他就报这个错了。

那么要怎么操作这种有关联的提交呢,首先先把commit1 cherry-pick到branch_target上,并把提交合并到branch_target,然后再把commit2 cherry-pick到branch_target上,再把提交合并到branch_target上,最后commit3也是一样的,cherry-pick到branch_target上,然后再合入提交。

最新文章

  1. STL容器适配器 stack, queue
  2. 【python】classmethod & staticmethod 区别
  3. 20145330第五周《Java学习笔记》
  4. GO语言练习:网络编程 TCP 示例
  5. Orcle常用语句
  6. 怎么做QQ、微信等消息气泡
  7. UILabel设置行间距和字间距并计算高度-b
  8. 在Ubuntu 12.04安装和设置Samba实现网上邻居共享
  9. bzoj1084: [SCOI2005]最大子矩阵
  10. 配置Tomcat JNDI数据源
  11. Quartz2D使用
  12. 网站可以免费做业务CMS讨论
  13. Druid连接池
  14. SpringMVC总结
  15. Hive 查询元数据库获取某个分区的count数
  16. ubuntu安装python3.6
  17. windows openssh 设置root 目录
  18. 怎样使用github
  19. Java 线程转储 [转]
  20. 高级测试岗位面试题---MARK

热门文章

  1. postMessage使用方法
  2. 【C#】读取Excel中嵌套的Json对象,Json带斜杠的问题(其一)
  3. Elasticsearch学习笔记——分词
  4. 蜕变成蝶~Linux设备驱动之异步通知和异步I/O
  5. OpenGL着色器入门简介
  6. LVS & NGINX
  7. CentOS 6.x 如何升级 glibc 2.17
  8. Tensorflow一些常用基本概念与函数
  9. Hystrix入门与分析(二):依赖隔离之线程池隔离
  10. 11.4vue(3)