假设我有配置文件和秘密api密钥。
我可以提交此配置文件的模板,api密钥更改为{put your api key here}
,因此实际密钥不会转到回购。
现在,在开发时我可以将生产API密钥放在该配置文件中并执行:
git update-index --assume-unchanged my.config
...告诉git假装配置文件没有变化,并且使用api密钥进行生产构建,并且不必担心将这些密钥提交到repo中。
然而,当我做类似的事情时:
git reset --hard
... git将我的配置文件恢复为在repo中提交的状态。
我怎样才能避免这种情况,即有没有办法告诉git类似“看到这个文件?不要碰它!”。
欢迎任何其他解决此问题的方法。
答案 0 :(得分:0)
简单的解决方案(没有Git魔法)是提交名为apikeys.txt.template
的文件,然后将apikeys.txt
放入.gitignore
。然后告诉您的用户根据模板填写apikeys.txt
和/或提供为他们执行此操作的脚本。
答案 1 :(得分:0)
只需将配置文件的模板设为真正的模板,例如config.sample
。
还提供安装脚本,该脚本会询问用户问题并生成或要求用户提供实际工作config
文件。
这样,你就不必经常依赖git hacks了。