Git-忽略配置文件

Git-忽略配置文件,git,security,gitlab,gitignore,Git,Security,Gitlab,Gitignore,首先,我已经阅读了很多关于这个主题的问题,因此我知道以下方法: .gitignore --跳过工作树 --假定未更改 这个问题更多的是为了满足我个人对如何处理配置文件的偏好 我已经尝试了.gitignore和--跳过工作树方法,是的,它们可以工作,但它们不满足我对如何处理配置文件的偏好,这就是为什么我正在寻找另一种解决方案。我相信,--假设未更改可以获得与--跳过工作树相同的结果,尽管它们不同,所以我选择不再尝试(是的,我已经阅读了许多关于这些标志的问题和文档) 以下是我的问题: .giti

首先,我已经阅读了很多关于这个主题的问题,因此我知道以下方法:

  • .gitignore
  • --跳过工作树
  • --假定未更改
这个问题更多的是为了满足我个人对如何处理配置文件的偏好

我已经尝试了
.gitignore
--跳过工作树
方法,是的,它们可以工作,但它们不满足我对如何处理配置文件的偏好,这就是为什么我正在寻找另一种解决方案。我相信,
--假设未更改
可以获得与
--跳过工作树
相同的结果,尽管它们不同,所以我选择不再尝试(是的,我已经阅读了许多关于这些标志的问题和文档)

以下是我的问题:

.gitignore
我不喜欢这种方法的原因是,我必须将我的配置文件命名为类似于
config.default.php
,并且必须记住复制它并将其重命名为
config.php
,它包含在
.gitignore
文件中

--跳过工作树
我不太喜欢这个,因为克隆远程存储库的每个开发人员都必须记住运行这个命令



因此,我想真正的问题是:“有没有一种方法可以忽略一个配置文件,其中每个开发人员不必为每个克隆运行命令,也不必重命名和复制默认配置文件?”。基本上,我希望在克隆后立即准备好一些东西,除了为每个参数提供必要的配置值之外,没有其他必要的步骤。

如果应用程序可以在没有配置文件的情况下工作(通过自己解决问题),它应该这样做

当需要配置文件时,不能按原样运行应用程序,尤其是在需要敏感数据的情况下

在这种情况下,使用
default
文件(带有合理的默认值和关于要设置的值的注释)是一个由来已久的传统。从安全的角度来看,忽略真实的配置文件(这样它们就不会被意外上传)是一种明智的预防措施

在某种程度上,一个人如何评价一台服务器(或一组服务器)的配置是一个意见和品味的问题。 但是将配置文件放在每个应用程序的源repo中肯定不是正确的答案


人们至少会期望系统管理员对特定服务器的所有配置文件使用私有repo,甚至可能对一组服务器使用私有repo,以便可以共享配置文件。

为什么不同时使用config.default.php(默认值)和config.php(覆盖值)?首先加载config.default.php,然后加载config.php。然后忽略配置。php@P.Kouvarakis
config.php
文件包含特定于每个开发人员的值,因此它不应该存储在远程存储库中,因为它可能包含敏感数据。这就是为什么它应该位于.gitignore中。但是没有必要将config.default.php复制到config.php,因为您同时加载了.@P.Kouvarakis,所以您是说每个开发人员都需要在克隆后立即创建一个
config.php
文件?这是我试图避免的事情之一。无论如何,他们必须编辑失败。他们也可以创建它(或者从模板文件复制它)——这真的没有什么区别。除此之外,git不可能克隆一个文件而不跟踪它(除非你每次都手动忽略它),我无法理解你的最后两段,但除此之外,我100%同意你。我所要做的就是为开发人员简化它。克隆回购。提供必要的配置值。开始发展。我只是想消除复制文件或在克隆repo后发出命令的步骤。如何在不运行命令的情况下“提供必要的配置值?”只需修改配置文件(使用空值)它存储在远程repo中,只需开始处理任务。如果没有其他选项,那么我将使用
.gitignore
方法,但我确实希望消除将
config.default.php
复制为
config.php
的步骤。恕我直言。不愿意复制、读取和编辑配置文件的开发人员不应该运行任何服务器。更不用说PHP服务器了。