我们需要一种系统的方法来忽略我们在git上维护的分支的特定配置文件。
即。我们有一个config.xml
文件,其中包含数据库,环境和其他信息。和#'掌握'我们希望避免使用git merge'
我们遵循了关于合并策略的SCM书籍说明,但是当我们进行分支合并时,git似乎仍然合并config.xml
:
http://git-scm.com/book/en/v2/Customizing-Git-Git-Attributes#Merge-Strategies
我也看过这篇SO帖子,要求有意识的程序员努力有选择地忽略config.xml
文件 - 似乎修剪错误:
Different configs in each git branch
此SO帖子也解释了不同的git合并策略,除了ours
之外,其他一些策略似乎都不符合我们的目的:
When would you use the different git merge strategies?
我很好奇你们使用什么方法来控制配置文件的更改,这些更改在每个分支中保持非常一致,而不需要git merge
'搞砸了?
答案 0 :(得分:2)
合并驱动程序的问题(如"我们的"策略)就像我在" .gitattributes & individual merge strategy for a file"中提到的那样:
合并驱动程序仅在非平凡情况下调用,即如果master和test都触及了setup(并且您需要首先定义合并驱动程序)。
我在" How do I tell git to always select my local version for conflicted merges on a specific file?"中使用了这样的策略,但它确实涉及两个分支的修改。
对于某些具有不同设置的文件,另一个选项是content filter driver,如" Keep settings in branch"
(图片显示在" Customizing Git - Git Attributes",来自" Pro Git book")
这允许您保持版本控制:
@@PORT@@
)