我有一些由git管理的源代码,我想推送到Heroku.源代码包含多个不同的产品,其中一些产品将拥有自己的heroku实例.所以像这样:
src/
lib-files/
app1/
app2/
app3/
other-files/
package.json
Run Code Online (Sandbox Code Playgroud)
所以在heroku中,我有app1和app2的实例.这两个都依赖于./lib-files和package.json,但不依赖于app2或app3或其他文件.
我真的不想将包含所有文件的整个git存储库推送到每个应用程序的heroku.换句话说,我不希望app1实例包含app2或app3或其他文件的代码,因为它有很多不需要的数据,并且需要永远复制它.
我通过为每个应用程序创建新的git repos来解决这个问题(一个只包含app1需要的东西,一个用于app2等),然后将这些个人回购推送到heroku.这可行,但似乎有点hacky因为我有我必须管理的所有其他额外的存储库.此外,如果其他开发人员希望能够推送到heroku我需要让他们可以使用这些回购,也许可以通过检查他们到git(似乎奇怪).
有什么好办法来实现这个目标?
更新:
如果我创建了heroku repos所以他们只为每个应用程序包含适当的东西然后让heroku成为那些repos的主要远程(而不是github)怎么办?我仍然会有多个存储库来处理,但至少所有开发人员都有一个标准的位置来克隆它们(源代码仓库在github中,而heroku部署仓库在heroku中).对此的想法?
我选择的解决方案是分支.您拥有包含所有文件的主分支,然后是每个仅包含其所需内容的应用程序的分支.
例如:
$ git init
$ git add .
$ git commit -m "Initial commit"
$ git checkout -b app1 # create a new branch for app1 derived from master
$ git rm what-you-dont-need-for-app1
$ git commit -m "Initial app1 commit"
$ git checkout master # switch to master again
$ git checkout -b app2
$ # repeat same steps as for app1
Run Code Online (Sandbox Code Playgroud)
您还可以.gitignore在每个分支中使用唯一的-file来告诉git您不想提交的内容.
| 归档时间: |
|
| 查看次数: |
403 次 |
| 最近记录: |