【发布时间】:2017-09-26 03:54:14
【问题描述】:
我使用 Git 对服务器的配置文件进行版本控制。一个文件(即来自Gogs 的app.ini)要求数据库用户和密码以明文形式存储。
有没有什么方法可以透明地提交文件而不让 Git 存储库的其他用户看到密码?我可以在登台时使用git add --patch,但我希望它是透明的,这样其他用户(和我)就不必在每次提交时都注意这样做。
【问题讨论】:
-
典型的方法是根本不将这些文件提交到您的存储库,而是提交一个模板。实际的配置文件通常应该只驻留在需要它们的服务器/机器上。您最终提出的下一个问题是如何忽略本地更改,因为开发人员通常会针对其他配置进行调试,并且适用相同的答案。
-
您可以删除密码并将文件添加到预提交挂钩中。或者,如果跟踪密码,则仅引发错误以使提交失败。但是你还是要注意文件被重命名或者钩子没有安装在新的克隆仓库中。
-
@LasseV.Karlsen:我知道版本控制或 Git 可能不是管理服务器配置文件的合适方式,但我们团队这样做的方式是因为它带来了改变的可能性沟通和讨论。我真的希望实际配置驻留在 repo 中,敏感部分被隐藏。
-
我认为它可能类似于this,但我希望将过滤器附加到存储库,而不是我个人 Git 配置的一部分。
标签: git git-commit git-add