2011-10-17 121 views
8

我很便宜。我不想爲許多github帳戶支付費用。爲多個git項目使用單個git存儲庫

我有一個像這樣的項目結構。

  • /repo是項目的根。
  • /回購/ PROJECT1在這裏我有一個Java項目
  • /回購/ herokurails1是我有一個的Ruby/Rails項目,它部署到heroku.com(以所謂的HR1-FUBAR一個Heroku的應用程序。 heroku.com
  • /repo/herokurails2是我有另一個部署到heroku.com的Ruby/Rails項目(到一個名爲hr2-fubar.heroku.com的Heroku應用程序)。

所有項目(project1,herokurails1和herokurails2正在積極開發中)。

我想在某些git託管位置有一個存儲庫,例如github.com甚至是辦公室的本地git服務器。每當代碼在/repo/中的任何地方發生變化時,我希望能夠運行「git push github master」,並將我的整個樹推到github上。

但是,我還希望能夠將我的rails應用程序部署到heroku.com,而無需將整個repo/*樹推送到每個heroku應用程序。例如

  • /回購/ herokurails1>混帳推Heroku的主將在herokurails1項目只部署到Heroku上沒有/正回購/ *
  • /回購/ herokurails2>混帳推Heroku的主推高了任何其他代碼只會將herokurails2項目部署到heroku,而不會推動/ repo/*中的任何其他代碼。

這可能嗎?我需要設置什麼特別的東西來實現這一點嗎?或者我堅持使用多個git存儲庫?

+6

嘗試[BitBucket](https://bitbucket.org/)。他們支持免費,無限制的私人存儲庫,他們只是增加了Git支持。 – vcsjones

+0

[部署到Heroku的子目錄]可能的重複(http://stackoverflow.com/questions/3081699/deploy-a-subdirectory-to-heroku) – millimoose

+3

將多個項目拼湊到一個單一的git存儲庫是一個壞主意。不要這樣做。 –

回答

3

這會很快變得非常笨拙(特別是因爲Git不會讓你像SVN會推拉子目錄)

我會看看不使用Github存儲項目。諸如BitbucketCodebaseHQ之類的工具具有不同的定價模式,可能更適合您,併爲您提供所需的簡單性。

或者,看着像Gitosis的,它可以做成通過工具非常Github上去年秋季一樣Gitlab

1

如果你想,你可以使用unfuddle或bitbucket,如果你不想支付任何費用。使用子模塊在github上託管大型文件,如圖像,第三方dll,視頻等。這些將不包含知識產權。

2

可能使用git subtree本地維護這是從你的大repo倉庫拆一個Git倉庫,並從分裂庫推。坦率地說,雖然,我要麼使用免費服務之一Adam Dymitruk suggests或只是多付一點GitHub - 他們確實提供了一個很好的服務,畢竟...

+0

我很便宜。但我更強烈的動機是能夠將一個項目部署到heroku,而無需在存儲庫中部署其他任何項目。 –

+0

我會在這種情況下嘗試'git subtree' - 這聽起來像是一個很適合你想要做的事情。 –

0

關於把每一個單獨的項目,在不同的分支如何?到目前爲止,它對我來說效果很好。我有一個webProjects的私人回購和每個分支開始與主我的網站項目模板(也可以是空的分支),每次我有新的項目,我只是創建一個基於主分支與項目名稱和卡里工作正常。