2010-10-30 34 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

相关问题