赞
踩
背景
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。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。