如何告诉git(1)忽略变化和(2)放弃管理提交文件

时间:2013-10-18 20:26:34

标签: git

假设我有配置文件和秘密api密钥。

我可以提交此配置文件的模板,api密钥更改为{put your api key here},因此实际密钥不会转到回购。

现在,在开发时我可以将生产API密钥放在该配置文件中并执行:

git update-index --assume-unchanged my.config

...告诉git假装配置文件没有变化,并且使用api密钥进行生产构建,并且不必担心将这些密钥提交到repo中。

然而,当我做类似的事情时:

git reset --hard

... git将我的配置文件恢复为在repo中提交的状态。

我怎样才能避免这种情况,即有没有办法告诉git类似“看到这个文件?不要碰它!”。

欢迎任何其他解决此问题的方法。

2 个答案:

答案 0 :(得分:0)

简单的解决方案(没有Git魔法)是提交名为apikeys.txt.template的文件,然后将apikeys.txt放入.gitignore。然后告诉您的用户根据模板填写apikeys.txt和/或提供为他们执行此操作的脚本。

答案 1 :(得分:0)

只需将配置文件的模板设为真正的模板,例如config.sample

还提供安装脚本,该脚本会询问用户问题并生成或要求用户提供实际工作config文件。

这样,你就不必经常依赖git hacks了。