标签: git pull git-filter-branch
我有一个项目,其中包含一些文件,其中包含带有密码和用户特定数据的配置文件。我们通过git pull将此项目部署到我们的服务器,并通过git push从我们的计算机提交更改。
我注意到git有git filter-branch commit-filer,你可以通过sed命令忽略密码变量。
拉我时有什么类似的过滤器吗?
我想拥有这样的远程主源文件:
array( 'pass'=>'your_pass' )
当我拉扯时我想忽略这一行。
是否有更好的做法来分享这类文件?
答案 0 :(得分:1)
git filter-branch改变现有提交,它不会自动与新提交一起使用。
git filter-branch
你想要的是hook。
但是,您无法完全忽略该文件中的值,因为您无法在不创建并行时间轴的情况下更改已提交的对象。您最多可以在工作树中屏蔽它们,设置钩子,这些钩子将始终忽略结账和提交时的屏蔽线。但这非常复杂,它会让开发人员更难。
更好的替代方法是将此类配置放在git的ignored单独文件中,并且每个开发人员应使用自己的设置和密码维护该文件的本地副本。将密码放在公共(或至少是共享)存储库上永远不是一个好主意。密码应该始终是私密的。