为多个git项目使用单个git存储库

Jay*_*dse 9 git github heroku

我很便宜.我不想支付许多github帐户.

我有一个看起来像这样的项目结构.

  • / repo是项目的根目录.
  • / repo/project1是我有Java项目的地方
  • / repo/herokurails1是我有一个部署到heroku.com的Ruby/Rails项目(到一个名为hr1-fubar.heroku.com的heroku应用程序)的地方
  • / repo/herokurails2是我有另一个部署到heroku.com的Ruby/Rails项目(到一个名为hr2-fubar.heroku.com的heroku应用程序)的地方.

所有项目(project1,herokurails1和herokurails2正在积极开发中).

我想在一些git托管位置有一个存储库,例如github.com,甚至是办公室里的本地git服务器.每当代码在/ repo /中的任何地方发生变化时,我希望能够运行" git push github master "并将我的整个/ repo / tree推送到github.

但是,我还希望能够将我的rails应用程序部署到heroku.com,而无需将整个repo/*树推送到每个heroku应用程序.例如

  • / repo/herokurails1> git push heroku master只会将herokurails1项目部署到heroku而不会推送/ repo/*中的任何其他代码
  • / repo/herokurails2> git push heroku master只会将herokurails2项目部署到heroku,而不会推送/ repo/*中的任何其他代码.

这可能吗?我需要设置一些特殊的东西才能实现这一目标吗?还是我坚持使用多个git存储库?

Nei*_*ton 5

这将很快变得非常笨拙(特别是因为 Git 不会让您像 svn 那样推拉子目录)

我会考虑不使用 Github 来存储项目。BitbucketCodebaseHQ等工具具有不同的定价模型,它们可能更适合您,并为您提供所需的简单性。

或者,看看像 Gitosis 这样的东西,它可以通过Gitlab 之类的工具变得非常 Github-esque