Git 如何在共享代码中处理密码

Git 如何在共享代码中处理密码,git,atlassian-sourcetree,Git,Atlassian Sourcetree,这是一个一般的git问题。我是一名源代码管理新手,希望与其他开发人员共享我的repo,但我的代码中有一个登录名和密码(用于Parse.com的API),我不想让他们看到。我可以看到几个选项: 1) 不要在我的源代码中包含登录名和密码。当我构建应用程序时,我手动将登录名和密码复制/粘贴到正确的位置,编译,然后在下次提交之前删除登录名和密码。这是非常乏味的 2) 建立两个回购协议。一个私人回购为我自己,其中有登录名和密码的代码和一个共享。每当我需要从私有回购更新共享回购时,我都会手动删除登录名和密码

这是一个一般的git问题。我是一名源代码管理新手,希望与其他开发人员共享我的repo,但我的代码中有一个登录名和密码(用于Parse.com的API),我不想让他们看到。我可以看到几个选项:

1) 不要在我的源代码中包含登录名和密码。当我构建应用程序时,我手动将登录名和密码复制/粘贴到正确的位置,编译,然后在下次提交之前删除登录名和密码。这是非常乏味的

2) 建立两个回购协议。一个私人回购为我自己,其中有登录名和密码的代码和一个共享。每当我需要从私有回购更新共享回购时,我都会手动删除登录名和密码

3) git或sourcetree的某些功能,我不知道是哪些功能对除我之外的所有人隐藏了登录名和密码


其他人是如何做到这一点的?是否有最佳做法?

一种公认的做法是将此类登录/身份验证凭据保存在单独的配置文件中,并使用伪值签入该配置文件的副本


然后,在共享时,您使用虚拟/测试值与其他用户共享存储库,但在部署时,您要么覆盖配置,要么在应用程序中指定环境以从环境中获取这些值。为此,您需要研究部署脚本,如capistrano。

您是否签出了可能也值得一看。FWIW,Heroku的解决方案是将所有这些内容粘贴到一个名为
.env
的文件
key=value
表单中,然后使用一个非常简单的脚本将该文件中的所有内容都设置为环境变量。您也可以通过这种方式轻松地分离产品登录和开发人员登录。@dbarnes:blackbox是我要找的。希望有一天,这一功能将内置到VCS中。