2012-10-31 52 views
3

我將從一個簡單的例子開始,描述我的意圖。可以在git中鏈接目錄嗎?

我有一個存儲庫包含兩個目錄,src和部署my-rep.git。在src我有我的源代碼(NodeJS代碼,但沒關係),並在部署我想保持我的部署配置。 因此,舉例來說,如果我有一個項目,projectA,那麼結構應該是這樣的,

my-rep.git/src/projectA 
my-rep.git/deploy/projectA/dotcloud.yml 
my-rep.git/deploy/projectA/src 

現在我的問題。我希望projectA中的源代碼在dotcloud的deploy目錄中可用。有沒有什麼辦法可以讓my-rep.git/deploy/projectA/src指向my-rep.git/src/projectA,也就是說,當我做一個git拉動部署時,它會自動拉動my-rep.git/deploy/projectA/src

它必須在git中支持,符號linux鏈接將不起作用,因爲我的團隊中的一些開發人員在Windows中工作。

+0

'/ src /'和'/ deploy/projectA/src /'之間有什麼關係?你甚至需要兩者,還是源頭只能住在後者? – Useless

+0

好吧,現在我們正在爲相同的代碼庫嘗試不同的雲託管服務,因此最終我們將部署/ dotcloud,deploy/heroku,deploy/whatever,因此在這些情況下,它們都應該引用相同的代碼庫,那就是src - > projectA。 如果開發人員可以訪問這些目錄中的任意一個,並運行每個雲主機提供的部署腳本,那就太棒了。 –

回答

0

不要重複結構。改用部署腳本。如果您在源代碼中包含配置,請將其抽象化,以便它無法在任何地方使用。然後依靠隨環境變化的污跡/乾淨腳本在簽出時更改文件,反之亦然。

+0

問題是,在我的團隊中,我們在不同的環境中工作,Window和Mac OS,而且我不想在不同平臺上使用腳本。我所有的團隊成員只需使用heroku或dotcloud部署腳本就足夠了,不需要額外的腳本或依賴關係。也許我的願景是不可能的,時間會告訴你:) –

+0

腳本可以在任一平臺上運行。 MSysGit適用於執行bash腳本。我相信他們在Mac上也能很好地工作。 –

+0

我會看看那個。現在雖然感覺我正在嘗試使用git錯誤。我可能應該看看每個Git倉庫有一個項目,也許應該使用子模塊。 –

相關問題