【发布时间】: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。
如果有其他类似设置的人比我所要求的更了解某些东西,我愿意接受想法。
【问题讨论】: