0

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

我注意到 git 有 git filter-branch commit-filer ,您可以在其中通过 sed 命令忽略密码变量。

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

我想拥有这样的远程主原始文件:

array(
'pass'=>'your_pass'
)

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

共享这种类型的文件有更好的做法吗?

4

1 回答 1

1

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

你想要的是一个钩子

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

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

于 2012-08-30T09:22:12.593 回答