#指点迷津#手动话题
场景:最近在开发公司内部使用的模板,类似于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呢?或者还是我的开发流程存在问题…望指教~🤞
场景:最近在开发公司内部使用的模板,类似于vuejs-templates,项目有两个分支,分别是develop和master,master template中有handlebars语法,cli需要,develop template中没有handlebars语法,适合开发新功能,这样导致两个分支上有两个同名不同内容的文件,我不想merge这两个文件的改动。文件如下图所示:
解决:根据自定义Git
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呢?或者还是我的开发流程存在问题…望指教~🤞
展开
评论
5