如何隐藏公开共享的GitHub中的个人信息?

时间:2014-02-23 08:20:14

标签: java git github

我在GitHub上分享我的Java项目(因为我相信开源代码而且没有隐藏的技巧)。无论如何,我有一个独特的UserAgent,我从一个网站获得API用法...我想知道如何在不使我的项目私有的情况下从GitHub中隐藏它... 我能做什么? 我试着搜索谷歌,但没有人似乎有同样的问题。我不能使用单独的文件,然后将其添加到.gitignore,因为它在部署项目时不起作用。请帮忙!

3 个答案:

答案 0 :(得分:2)

  

我想知道如何在不将我的项目设为私有的情况下将其隐藏在GitHub中

您无法将该信息推送到回购。

您可以做的是声明 content filter driver ,在结帐时会检查是否可以访问私人信息来源(公共回购以外的地方,可能是GitHub以外的地方) ),并生成正确的文件(保持私有,并在.gitignore中声明)。

http://i.stack.imgur.com/3wuqy.png

该内容过滤器驱动程序在.gitattributes中声明,并且正在获取一个模板文件(该文件是版本化的,但本质上不含任何值),并将生成完整的文件:

  • 默认值(如果未找到私人数据的来源)
  • 敏感值(如果脚本可以访问私人信息源)

答案 1 :(得分:1)

正如评论中所建议:将此信息放在配置文件中。

以下是an example:此javascript项目提供config.js.template文件,但应用程序需要config.js文件(gitignored)。如果此文件不存在,则为模板is copied。 这样,即使用户没有花时间先编写自己的配置,它也会以合理的默认值运行。

此外,既然你说你打算“切换”到配置文件,我想这些个人配置值当前在你的代码中。因此,在推送到github之前,不要忘记清理旧的提交!

答案 2 :(得分:0)

只需使用GPG加密机密信息,并对您的代码进行签名。