git如何合并指定文件内容_Git 合并指定文件或文件夹

背景

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

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

诉求

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

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

操作

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

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

切换至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下的冲突

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

参考

p.s.

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值