2010-10-30 141 views
9

嘿,我在同一時間在兩個程序工作。假設A和B是不同目錄中的兩個不同文件夾。是否有可能讓它們都成爲同一個git項目的一部分?因爲我使用A的數據作爲B的輸入,但由於A是一個Web應用程序,因此我將它放在public_html中,而B放在另一個文件夾中。如何將兩個不同的文件夾包含到同一個git項目中?

+0

你看過[git-submodule](http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html)嗎? – takeshin 2010-10-30 06:37:24

回答

4

簡短的回答,你不能。使每個單獨的git存儲庫。無論如何,兩個不同的程序不屬於同一個存儲庫。

長答案:唯一的辦法是在兩個目錄共享一個共同祖先的地方在文件系統中創建一個更高的git repo。這甚至可能是您文件系統的根源。您可以將兩個項目目錄中的每一個添加到回購中,並指定.gitignore中的所有其他項目。這顯然不夠理想。

11

用這兩個目錄創建一個git項目,把它放在別的地方,然後在兩個需要這兩個文件夾的位置創建symlinks

 
$ ls -a myproject 
. .. .git A B 
$ ln -s myproject/A A 
$ cd public_html 
$ ln -s ../myproject/B B 
$ cd .. 
$ ls 
myproject A public_html 
$ ls public_html 
B 
+0

+1:很好的解決方案。當然,在Windows下使用@Karthick是行不通的。 – Johnsyweb 2010-10-30 04:56:22

+0

你試過嗎?我不認爲git會遵循這個符號鏈接 – 2012-04-20 13:04:56

+1

@AdamRabung Git不需要遵循這個例子中的符號鏈接。 A和B都直接位於Git管理的目錄中。有些符號鏈接將*指向* Git目錄,這需要跟隨其他任何軟件(例如,您需要將Web服務器配置爲遵循符號鏈接,但這通常不難)。 – 2012-04-20 14:36:22

相關問題