Git 合并指定文件或文件夹

背景

  1. work_portal工程下,master、demo、release、develop分支各自发展,他们各有不同的想法;

  2. 基于master生成的开发分支daily/1.0.0,合并至develop或release等分支进行想要测试时,出现超多冲突,而自己开发的地方只涉及几个文件或文件夹;

诉求

  1. 把自己的改动的文件合并到目标分支并在Jenkins构建;

  2. 不想改那些不属于自己开发时出现的冲突;

操作

基于master的开发分支daily/1.0.0,要合并至develop分支,然后Jenkins构建

  1. 所有改动都已提交,保持分支的干净状态(working tree clean)

  2. 切换至develop分支,并保持develop为最新

git checkout develop    
git pull

3、基于develop分支新建一个temp分支,并切换到该分支上

git checkout -b develop_temp

4、用daily/1.0.0指定文件或文件夹替换develop_temp的相应文件

git checkout daily/1.0.0 <目标文件夹或目标文件名>
  • 如果此次开发只涉及src/routes/test文件夹下的文件,则执行
git checkout daily/1.0.0 src/routes/test

执行完此命令后,daily/1.0.0分支的src/routes/test下的文件会替换develop_temp分支下相应的文件

5、将本次checkout内容提交到develop_temp上

git commit -am“提交信息”

6、切换至develop分支

git checkout develop

7、合并

git merge develop_temp

如有冲突,也仅会是src/routes/test下的冲突

至此,合并指定文件或文件夹操作结束

参考

https://segmentfault.com/a/1190000008360855

p.s.

参考文章中是直接在develop上checkout daily/1.0.0里的指定文件夹。由于checkout是直接替换,这样做可能会丢失别人对这些文件夹下文件的改动记录,所以我增加了一个develop_temp。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,870评论 19 139
  • Git 命令行学习笔记 Git 基础 基本原理 客户端并不是只提取最新版本的文件快照,而是把代码仓库完整的镜像下来...
    sunnyghx阅读 4,185评论 0 11
  • 山娃子今年十二岁了,他来到这座小城当学徒才十二天。他对这里的一切都还不是很熟悉。但他觉得这里终归没有他的老家好。 ...
    阿尔他霞阅读 966评论 11 10
  • 多肉植物的品种很多,形态各异,景天科有很多相似的外形,其中的吉娃娃是我很喜欢的一种,颜色和样子十分讨喜,看着让人想...
    雪盈禅心阅读 945评论 2 3
  • 小石头是个害羞的小石头~因为生病有很长时间没有来美吉姆上课啦,一来到教室里就会有些害羞,一边往妈妈怀里躲,...
    DaisyYuan阅读 452评论 0 0

友情链接更多精彩内容