#指点迷津#手动话题

场景:最近在开发公司内部使用的模板,类似于vuejs-templates,项目有两个分支,分别是develop和master,master template中有handlebars语法,cli需要,develop template中没有handlebars语法,适合开发新功能,这样导致两个分支上有两个同名不同内容的文件,我不想merge这两个文件的改动。文件如下图所示:

解决:根据自定义Git git-scm.com 在根目录创建了.gitattributes文件,设置属性如下:
package.json merge=ours
configs/init.ini merge=ours

定义一个虚拟的合并策略:
git config --global merge.ours.driver true

当执行:git merge develop 出现以下信息:确实这两个文件的更改被master忽略
Merge made by the 'recursive' strategy.

但是相反执行:git merge master时,出现以下信息:虽然使用了相同的merge策略,但是更改还是被merge到了develop中~
Merge made by the 'recursive' strategy.
 configs/init.ini | 12 ++++++------
 package.json | 24 ++++++++++++++----------
 2 files changed, 20 insertions(+), 16 deletions(-)


问题:两个分支相互合并时,如何相互忽略指定文件不被merge呢?或者还是我的开发流程存在问题…望指教~🤞
展开
Barrybooy于2018-05-15 09:10发布的图片
Barrybooy于2018-05-15 09:10发布的图片
评论