Java GitKey在我的项目中

Java GitKey在我的项目中,java,git,api,api-key,Java,Git,Api,Api Key,我想制作一个java应用程序。它存储在gitHub上(因此使用git进行版本控制)。 现在这个程序在示例中使用了来自Google的apikeys。 我想在版本控制系统中隐藏这个Api密钥(这样其他人就不能使用它) 我读过一些关于.gitignore文件的内容,但我不想从版本控制中删除整个文件。我只想把钥匙藏起来让别人看 我读了下面的帖子,我想这就是我要寻找的,但我真的不知道怎么做 您无法对文件进行版本设置并对其他人隐藏它。提交的ID部分基于提交文件树的ID,该ID基于该树的内容——文件名和内容。

我想制作一个java应用程序。它存储在gitHub上(因此使用git进行版本控制)。 现在这个程序在示例中使用了来自Google的apikeys。 我想在版本控制系统中隐藏这个Api密钥(这样其他人就不能使用它)

我读过一些关于.gitignore文件的内容,但我不想从版本控制中删除整个文件。我只想把钥匙藏起来让别人看

我读了下面的帖子,我想这就是我要寻找的,但我真的不知道怎么做


您无法对文件进行版本设置并对其他人隐藏它。提交的ID部分基于提交文件树的ID,该ID基于该树的内容——文件名和内容。如果更改文件的内容,则更改其在Git中的标识。当您更改它的标识时,您将更改它所包含的树的标识,一直到提交

简而言之,不是。包含此文件的每个提交的ID都将基于该文件的内容。对有权访问存储库的其他人隐藏该文件的唯一方法是,从一开始就不要将其添加到存储库中


(如果您尚未发布存储库,可以使用
git filter branch
重写历史记录,以删除文件的所有引用。请注意,如上所述,这将更改许多提交的标识。)

确定,谢谢。无论如何,我不想隐藏整个文件,只想隐藏文件中的Api键,因为Api键与我相关,其他人不允许使用它。但如果这是唯一可能的解决办法,我可以接受。谢谢。这个问题有一个标准的解决方案。假设文件名为
config.txt
。创建此文件的副本,
config.txt.template
。用此模板文件中的占位符示例数据替换所有配置数据(包括API密钥)。然后将
config.txt
添加到
.gitignore
文件中。现在,您可以提交模板文件,而无需向存储库添加任何真实和/或敏感数据。要设置新克隆,只需将所有
foo.template
文件复制到
foo
并适当编辑其内容即可。