开始 - 我已经阅读了很多关于这个主题的问题,所以我知道以下方法:
.gitignore
--skip-worktree
--assume-unchanged
这个问题更倾向于满足我个人对如何处理配置文件的偏好。
我尝试了.gitignore
和--skip-worktree
方法,是的,但是他们不能满足我对如何处理配置文件的偏好,这就是为什么我要寻找另一个解。我相信--assume-unchanged
取得与--skip-worktree
相同的结果,即使它们不同,所以我选择不再尝试它(是的,我已经阅读了很多关于这些标志的问题和文档)。
以下是我的问题:
.gitignore
我不喜欢这样做的原因是,我必须将我的配置文件命名为config.default.php
,并且必须记住复制它并将其重命名为config.php
- 包含在.gitignore
文件中。
--skip-worktree
我不喜欢这样,因为克隆远程存储库的每个开发人员都必须记住运行该命令。
所以我猜真正的问题是: "是否有办法忽略配置文件,其中每个开发人员都不必为每个克隆运行命令而不必重命名并复制默认配置文件?" 。基本上我想要在克隆之后立即开箱即用,除了为每个参数提供必要的配置值之外,没有必要采取其他步骤。
答案 0 :(得分:3)
如果一个应用程序可以在没有配置文件的情况下工作(通过弄清楚它自己),它应该这样做。
当配置文件必需时,一个不应能够按原样运行应用程序,尤其是在需要敏感数据的情况下。
在这种情况下,使用default
文件(具有合理的默认值和关于要设置的值的评论)是一项历史悠久的传统。从安全角度来看,忽略真实的配置文件(因此无法意外上传)是明智的预防措施。
服务器(或服务器组)的配置如何在一定程度上是一种意见和品味。 但是将配置文件放在每个应用程序的源代码库中肯定不是正确的答案!
至少需要sysadmin为某个服务器的所有配置文件使用私有repo,甚至可能为一组服务器使用,以便可以共享配置文件。