【问题标题】:What is the best way to handle configuration files with git?用 git 处理配置文件的最佳方法是什么?
【发布时间】:2009-01-31 09:39:14
【问题描述】:

假设我的应用程序有一个纯文本配置文件。它们包含一些在我的开发环境中测试应用程序所需的敏感信息。我使用不同的操作系统来访问和处理我的项目(win、mac、...)。

我不希望配置文件中的某些信息进入我的公共 git 存储库。在最好的情况下,我希望将敏感信息替换为占位符,并将配置文件上传到存储库以跟踪其结构。


你会如何解决这个问题?

钩子本身对我来说不会有太大的问题。我更感兴趣的是如何将它们联系在一起,可能的目录结构等。我对 git 很陌生。

【问题讨论】:

    标签: git hook directory-structure


    【解决方案1】:

    您可以使用 Django 世界中遵循的约定 - 有一个标准的 settings.py 文件,如果有可用的模块,该文件最后会导入一个 local_settings 模块。

    将您所有的秘密资料保存在 local_settings.py 文件中,并将其添加到 .gitignore,这样它就不会进入存储库。这样,人们就会知道他们可以将自己的设置添加到local_settings

    例如,

    settings.py:

    DATABASE_USERNAME = 'your username here'
    DATABASE_PASSWORD = 'your password here'
    

    local_settings.py:

    DATABASE_USERNAME = 'my top secret username'
    DATABASE_PASSWORD = 'my top secret password'
    

    最好的部分是您在settings.py 中定义的任何内容都将被local_settings.py 中的相同名称覆盖。

    【讨论】:

    • 简单而好主意,我喜欢。
    • 是我想要的。我们用 PHP、Yii 编写代码,我们可以通过一些本地更改来继承配置。 main.php -> local.php .gitignore local.php
    猜你喜欢
    • 2018-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-06
    • 2011-03-21
    • 1970-01-01
    • 2021-06-29
    相关资源
    最近更新 更多