一个简单的例子。数据库配置存储在config.php文件中。
此文件包含敏感数据(数据库凭据),因此将其添加到.gitignore。我们不希望它出现在我们的公共存储库中。
主分支机构与我们的生产站点一起工作。开发分支与我们的测试站点一起工作。两个站点都有不同的数据库凭据
如果跟踪了config.php,我们可以使用分支特定版本的config.php,只需将此行添加到我们的.gitattributes文件即可。
config.php merge=ours
我们怎样才能将文件保存在我们的公共仓库(.gitignore)之外并在本地保留其分支特定版本(.gitattributes)?
答案 0 :(得分:0)
我想建议你一个更简单的方法:
您可以使用测试数据库凭据创建名称为test_config.php
的其他文件。此文件也应该没有跟踪。因此,在生产分支中,您应该使用config.php
并在测试分支test_config.php
中使用。
与复杂的git解决方法相比,这是一种非常简单而强大的解决方案。
答案 1 :(得分:0)
您可以查看以下几项内容:
https://help.github.com/articles/ignoring-files#ignoring-versioned-files
Read the part: Ignoring versioned files
http://www.twinbit.it/en/blog/storing-sensitive-data-git-repository-using-git-crypt