我有一个使用Twitter身份验证的项目。这意味着,该项目具有应该保持私有的API密钥。我想把它打开源,这就是为什么我必须在git push之前修剪所有API密钥。 2天了,我一直在手动做。这是一个非常烦人的过程。
现在,我认为将文件移植到实时服务器上也很烦人,我应该在实时服务器上设置一个webhook,然后让它完成所有更改。
但是,git版本会修剪所有API键。所以现场网站不起作用。我需要一些关于如何解决这个问题的想法..
-> remove auth keys before pushing to git
-> put keys back in when pulling on live server
答案 0 :(得分:0)
使用单独的文件存储私人信息。不要检查它。
最简单的方法是拥有一个包含默认配置的配置文件。这是签入并单独保留。然后,用户提供自己的自定义配置,该配置覆盖默认值。未签入此用户编写的文件。将您的身份验证信息放在那里。
另一个优点是,现在您可以更改默认配置,而不会破坏本地自定义。
经验法则是,您永远不希望拥有被跟踪但无法检入的更改的文件。这使得开发变得更加困难,只是错误地要求某人git add .
或git commit -a
。相反,将需要更改的位放入一个单独的未跟踪文件中。
但是,git版本会修剪所有API键。所以现场网站不起作用。
Git不是一个发布工具,不要试图像它一样使用它。您需要一些其他方法将文件放到您的服务器上,而不仅仅是从Git仓库获取。像rsync这样简单的事情就可以了。