0

I created a configuration file in my Kohana project that stores the OAuth access tokens and secret keys for an API in application/config.

I now want to push my code to GitHub but I don't want to expose tokens/keys on GitHub. I know with CodeIgniter, all I need to do is put these sensitive files in the application/config/development directory, set my .gitignore file to ignore the development directory (*/config/development), push my code to the remote, and continue working with my config details in the development directory.

Is there something similar or specific in working on Kohana project? Should I just create a rule in .gitignore file that ignores the application/config?

4

1 回答 1

2

你至少可以通过两种方式来解决这个问题:

  • 跟踪配置文件的示例、修改版本,忽略实际版本
  • 提交配置文件的修改版本,然后在以后的跟踪中忽略它

Track munged 样本版本

将配置文件显式放入 .gitignore (没有通配符,例如/config/database.php)并创建一个具有相同内容的副本,除了密钥和其他敏感数据被替换为 NULL 或 XXX 并将其保存到类似的文件中/config/database-sample.php并跟踪、提交和推送它。

甚至可能在两者之间使用符号链接

忽略

或者你可以提交一个 munged 版本,推送它,然后使用 --assume-unchanged 从索引中删除它

git update-index --assume-unchanged <file>

现在对文件的任何更改都不会被 Git 看到,然后您可以在密钥中重新编辑。

在这两种方法中,您都可以(大致)保留项目文件的结构,以供其他人根据本地或开发存储库的需要进行克隆和编辑,而不必猜测有漏洞需要填补。

于 2013-09-18T04:38:07.550 回答