2010-10-30 18 views
9

Ehi, sto lavorando a due programmi contemporaneamente. Supponiamo che A e B siano due cartelle diverse in diverse directory. È possibile farli entrambi parte dello stesso progetto git? Perché uso i dati da A come input per B, ma dal momento che A è un'app web, l'ho messa in public_html mentre B è in una cartella diversa.Come includere due diverse cartelle nello stesso progetto git?

+0

Hai guardato [git-modulo] (http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html)? – takeshin

risposta

4

Risposta breve, non è possibile. Crea ognuno un repository git separato. Due programmi diversi non appartengono comunque allo stesso repository.

Risposta lunga: l'unico modo sarebbe quello di creare un repository git più in alto nel file system nel punto in cui le due directory condividono un antenato comune. Questo potrebbe anche essere la radice del tuo file system. È possibile aggiungere ciascuna delle due directory del progetto al repository e specificare tutto il resto in .gitignore. Questo è ovviamente meno che ideale.

11

Creare un progetto git con le due directory, inserirlo altrove, quindi creare semplicemente symlinks nelle due posizioni in cui sono necessarie le due cartelle.

 
$ 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: bella soluzione pulita. Ovviamente, non funzionerebbe, @Karthick funzionava con Windows. – Johnsyweb

+0

hai provato? non penso che Git seguirà quel symlink –

+1

@AdamRabung Git non ha bisogno di seguire i link simbolici in questo esempio. A e B sono entrambi direttamente nella directory gestita da Git. Ci sono collegamenti simbolici che puntano * nella * directory Git, che dovrà essere seguita da qualsiasi altro software utilizzato (ad esempio, sarà necessario configurare il server Web per seguire i collegamenti simbolici, ma in genere non è difficile). –

Problemi correlati