我的项目有一个文件,其中包含数据库连接和私有API密钥。对于使用我的项目的其他人来说,需要该文件,但当然他们不应该访问我的私有API密钥。
管理此问题的最佳方法是什么?只需将匿名文件上传一次到github,不要将其包含在我的存储库中?或者是否有更好的方法来使用私有stuf和匿名在线版本的本地文件。
Gabrie
答案 0 :(得分:1)
一种方法是添加并提交文件的匿名版本,然后发出以下命令:
git update-index --assume-unchanged <file>
(参见git-update-index的文档。)
然后Git会忽略对此文件的任何更改,因此您可以将其私有内容添加到其中,而不是将其添加到索引并意外提交。
当然,缺点是这只会影响您的本地存储库。处理项目的其他开发人员仍会监视此文件的更改,除非他们在自己的本地仓库中执行相同的命令。
它也有点繁琐,因为如果您想要更改此文件中的某些内容并提交这些更改,您必须执行反向命令:
git update-index --no-assume-unchanged <file>
然后确保只提交非私有更改(暂时删除您的私有内容或使用交互式添加),之后您将再次运行原始命令,以使Git无视进一步更改再一次。