2010-10-30 8 views
9

Hey, je travaille sur deux programmes en même temps. Supposons A et B sont deux dossiers différents dans des répertoires différents. Est-il possible de les faire tous les deux faire partie du même projet git? Parce que j'utilise les données de A comme entrée pour B, mais comme A est une application web, je l'ai mis dans public_html pendant que B est dans un dossier différent.Comment inclure deux dossiers différents dans le même projet git?

+0

Avez-vous regardé [-git sous-module] (http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html)? – takeshin

Répondre

4

Réponse courte, vous ne pouvez pas. Faites chacun un dépôt git séparé. Deux programmes différents n'appartiennent pas dans le même référentiel de toute façon. Réponse longue: La seule solution serait de créer un repo git plus haut dans le système de fichiers au point où les deux répertoires partagent un ancêtre commun. Cela pourrait même être la racine de votre système de fichiers. Vous pouvez ajouter chacun des deux répertoires de projet au référentiel et spécifier tout le reste dans .gitignore. C'est évidemment loin d'être idéal.

11

Créez un projet git avec les deux répertoires, placez-le ailleurs, puis créez simplement symlinks dans les deux emplacements où vous avez besoin des deux dossiers.

 
$ 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: Belle solution soignée. Bien sûr, ça ne marcherait pas si @Karthick travaillait sous Windows. – Johnsyweb

+0

avez-vous essayé? Je ne pense pas que git suivra ce lien symbolique –

+1

@AdamRabung Git n'a pas besoin de suivre les liens symboliques dans cet exemple. A et B sont directement dans le répertoire géré par Git. Il y a des liens symboliques pointant vers * dans * le répertoire Git, qui devront être suivis par n'importe quel autre logiciel que vous utilisez (par exemple, vous devrez configurer votre serveur web pour suivre les liens symboliques, mais ce n'est pas difficile). –

Questions connexes