【发布时间】:2011-01-16 01:00:12
【问题描述】:
我的应用托管在 Heroku 上,我也有一个公共 github 存储库。
我的应用有一个配置文件,其中包含我的亚马逊 S3 凭据。确保文件被推送到 heroku 而不是 github,这一点很重要。
所以我想我可以将我的 master 分支推送到 heroku 并创建一个单独的 github 分支并确保它的 .gitignore 文件引用我的 s3.yml 文件。然后我可以执行“git push origin github:master”将 github 分支推送到 github.com
这适用于第一次提交。
然后我切换到我的 master 分支,编写了一些很棒的代码,然后将它们全部推送到 heroku。然后我切换回我的 github 分支并执行“git merge master”,以便将新代码添加到其中。但这会导致 master 分支中的 s3.yml 和 gitignore 文件被复制到 github 分支中。提示面对面的敲打会议。
关于如何保持分支同步,同时确保未跟踪的文件保持未跟踪,是否有任何建议。我可以告诉 git 不要合并不需要的 S3.yml 文件和不同的 .gitignore 文件吗?
我在这里鞭打一匹死马吗?我还不能证明为私人 github 帐户付费是合理的,但我想答案将涉及这样做......或切换到 projectlocker
我希望这个问题只是因为我的垃圾 git 技能,并且有办法....提前致谢
编辑::: 接受的答案是一个很好的解决方案,但我刚刚找到了一个我更喜欢的新答案。在这里阅读它:http://docs.heroku.com/config-vars - Heroku 的聪明人对所有事情都有答案......非常棒
【问题讨论】:
-
+1 为 heroku 的解决方案
-
如果您只关心 S3 凭据等参数,Heroku config var 解决方案就可以工作。但是我可以看到一种情况,例如,您想使用相同的存储库进行开发和推送到 Heroku。你想将你的 node_modules 文件夹发送到 Heroku(因为建议让 Heroku 重建所有内容),而不是 Github 或 Gitlab。此外,在 Heroku 上,您可能有几个不需要部署才能工作的文件夹,例如预构建源代码。为此,您需要一个自定义合并驱动程序和多个分支。
标签: git github project-hosting