2010-10-30 16 views
9

Hey, iki program üzerinde aynı anda çalışıyorum. A ve B'nin farklı dizinlerde iki farklı klasör olduğunu varsayalım. İkisinin de aynı git projesinin bir parçası olması mümkün mü? A'dan B'ye girdi olarak veri kullanıyorum, ancak A bir web uygulaması olduğundan, B farklı bir klasördeyken public_html'ye ekledim.Aynı git projesine iki farklı klasör nasıl eklenir?

+0

sen baktınız mı [git-alt modülü] (http://www.kernel.org/pub/software/scm/git/docs/git-submodule.html)? – takeshin

cevap

4

Kısa cevap, yapamazsınız. Her birini ayrı bir git deposu yapın. İki farklı program yine aynı depoda bulunmuyor.

Uzun yanıt: Tek yol, iki dizinlerin ortak atalarını paylaştığı noktada dosya sisteminde daha yukarı bir git repo oluşturmaktır. Bu, dosya sisteminizin kökü olabilir. Her iki proje dizinini de repo'ya ekleyebilir ve .gitignore numaralı telefondan her şeyi belirtebilirsiniz. Bu açıkça idealden daha azdır.

11

İki dizinle bir git projesi oluşturun, başka bir yere koyun ve sonra iki klasöre ihtiyacınız olan iki konumda symlinks oluşturun.

 
$ 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: Güzel ve temiz bir çözüm. Tabii ki işe yaramazdı, Windows'da çalışan Karthick. – Johnsyweb

+0

bunu denedin mi? Git o symlink –

+1

@AdamRabung Git'i takip etmeyi düşünmüyorum, bu örnekte symlinks takip etmenize gerek yok. A ve B'nin ikisi de doğrudan Git tarafından yönetilen dizinde bulunur. Kullandığınız başka bir yazılım tarafından izlenmesi gereken Git dizinine * * işaret eden symlink'ler vardır (örneğin, web sunucunuzu simitleri takip edecek şekilde yapılandırmanız gerekir, ancak genellikle yapılması zor değildir). –

İlgili konular