如何在Git repos之间共享包含配置和密码的文件



我有一个项目,其中包含一些文件,这些文件由带有密码和用户特定数据的配置文件组成。我们通过git pull将这个项目部署到我们的服务器,并通过git push从我们的计算机提交更改。

我注意到git有git-filter分支commit-filter,您可以通过sed命令忽略密码变量。

当我拉的时候有类似的过滤器吗?

我想在远程主机上有这样的原始文件:

array(
'pass'=>'your_pass'
)

当我拉的时候,我想忽略这条线。

它有更好的共享此类文件的做法吗?

git filter-branch会更改现有的提交,它不会自动与新的提交一起工作。

你想要的是一个钩子。

但是,您不能完全忽略该文件中的值,因为如果不创建平行时间线,就无法更改已提交的对象。您最多可以在工作树中屏蔽它们,设置挂钩,在签出和提交时始终忽略屏蔽的行。但这是非常复杂的,这将使开发人员的工作更加困难。

一个更好的选择是将这样的配置放在一个单独的文件中,该文件被git忽略,每个开发人员都应该使用自己的设置和密码维护该文件的本地副本。将密码放在公共(或至少共享)存储库中从来都不是一个好主意。密码应始终是私人的。

最新更新