【问题标题】:How to keep a deployment repo for Heroku within a development Git repo and keep them separate?如何在开发 Git 存储库中保留 Heroku 的部署存储库并将它们分开?
【发布时间】:2013-08-13 13:55:55
【问题描述】:

我有一个用于开发我的应用程序的 git 存储库,现在我想部署到 Heroku。但是我不想部署这个 repo 本身,而是在这个 repo 中构建代码。我的构建系统在我的 repo 目录中创建了一个 dist 目录,其中包含在任何地方部署所需的一切。它被设置为在 .gitignore 中被忽略,因为没有必要存储它,因为它可以随时重建并且是多余的。然而,Heroku 需要一个 git repo 来进行部署。我可以手动将dist 中的输出复制到我为 Heroku 保留的其他存储库中,但这看起来真的很难看。我希望能够开发源代码,构建部署代码,并将前者推送到 GitHub/Lab,而将后者推送到 Heroku,而不会发生重叠。

我想要的是这样的:我的dist 文件夹是它自己的 git 存储库,以满足 Heroku,它不包含在父开发存储库的历史中,即当我将我的开发存储库推送到 GitHub 或GitLab,dist 文件夹被忽略。当我将dist 的内容推送到 Heroku 时,它不知道它包含在开发项目中。这样,我的构建过程会自动更改我的部署 repo,我可以在必要时提交以标记部署事件。

如果可能的话,我不确定如何设置它。我听说过关于子模块的可怕事情,我什至不确定这是适合这项工作的工具,因为它似乎更多地与在我的内部包含其他外部存储库有关。在这里,我想创建一个只存在于我的父 repo 中的 repo。

如果有其他类似设置的人比我所要求的更了解某些东西,我愿意接受想法。

【问题讨论】:

    标签: git heroku


    【解决方案1】:

    我会创建另一个名为“dist”的分支:

    git checkout -b 'dist'
    

    在该分支中,我将更改 gitignore 文件,以便包含“dist”文件夹。

    然后我会像这样将我的 dist 分支推送到 heroku:

    git push heroku dist:master
    

    这对你有用吗?

    【讨论】:

    • 我会试一试,看看它是如何工作的。我会看看我是否无法设置某种永久合并策略来阻止 .gitignore 更改。
    • 我围绕这个 // 新分支构建了一个完整的自动化流程,构建了 dist、提交、推送,然后删除了这个分支......所以 rad
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-15
    • 2013-09-01
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多