Git:如何忽略来自一个仓库的文件并将其添加到另一个仓库?

我有一个我试图在Heroku上托管的Ruby on Rails应用程序。 我还想使用GitHub公共(免费)存储库来跟踪更改。 我需要检入包含Heroku远程仓库密码的文件,但忽略该文件,因此我没有将其检入到GitHub中。 有没有办法将文件添加到一个回购站,并从另一个回收站忽略它?

更新:我想通过使用Heroku Config vars解决我在Heroku中存储密码的直接问题。 不过,我仍然对将文件推送到指定回购站的概念感兴趣。


你可以做的是添加到GitHub仓库的一个污迹脚本(过滤器驱动程序),它将:

  • 测试一个私人分支的存在
  • 检出该分支的密码文件
  • 替代文字

    由于该私有分支仅存在于Heroku回购站中,因此涂抹脚本不会在GitHub回购站上执行任何操作。
    但是一旦推到Heroku端,如果钩子在Heroku服务器上检查一个工作目录,那么相同的过滤器驱动程序将会启动并生成敏感文件。

    话虽如此,对于这样一个敏感的文件来说,最好不要在任何Git仓库中进行版本控制,而是将其存储在别处。
    涂抹脚本,而不是测试一些Git回购内容(如私人分支),然后测试外部回购(一个SSH密码,一个Nexus回购,任何其他数据引用你选择存储那些私人信息),提取正确的内容并生成文件。


    正如VonC所说,最好的(也是最不容易出错的)赌注是保持敏感的配置信息不在Git中,并将它们放在服务器上的环境变量中。 以下是Heroku如何操作的说明:

    http://docs.heroku.com/config-vars

    另请参阅链接的问题。

    链接地址: http://www.djcxy.com/p/46911.html

    上一篇: Git: How to ignore a file from one repo and add it to another?

    下一篇: Fitting a pareto distribution with (python) Scipy