美文网首页
Git 合并指定文件或文件夹

Git 合并指定文件或文件夹

作者: 美少女星矢 | 来源:发表于2018-04-24 18:26 被阅读0次

    背景

    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。

    相关文章

      网友评论

          本文标题:Git 合并指定文件或文件夹

          本文链接:https://www.haomeiwen.com/subject/zuajlftx.html