我正在尝试在两个不同的分支中使用相同的配置文件。 我希望将文件放在版本控制下的develop分支和修订控件之外的生产分支上。所以我正在尝试这里建议的内容。
http://cogniton-mind.tumblr.com/post/63560840467/howto-gitignore-for-different-branches-update
我有文件config / config.php git rm然后将它添加到我的.gitignore上 我添加并提交并推送到分支生产。 我把文件的副本放回到原来的位置和我的git状态,我看到,正如预期的那样,没有什么需要提交 我签出了我的开发分支并对该文件进行了一些更改。添加,提交和推动开发。 我结帐生产 然后我尝试将开发与生产合并,我得到以下内容。
CONFLICT (modify/delete): config/config.php deleted in HEAD and modified in develop. Version develop of config/config.php left in tree.
是否要避免这种情况,并且在修订控制下进行开发,而不是在版本控制中进行生产?
答案 0 :(得分:0)
另一种方法是不使用gitignore
文件,并使用 content filter driver (自动执行smudge
脚本在结帐时)生成自动生成正确的配置文件(不会被版本化)
你的版本是什么:
dev
配置文件dev
分支,则会根据dev
配置值和模板文件生成配置文件prod
分支,它会从prod配置值在git repo外部获取和模板文件这样,你就不会冒任何“秘密”值(它们存储在“其他地方”)的风险,并且你总是得到正确的配置文件。