2016-04-10 30 views
1

Uzak ve yerel olarak Shared Features adlı bir depom var.Alt modül olarak yerel depo

Bu repo dosyasını başka bir git repo'ya submodule olarak eklemek istiyorum, ancak uzak olanı kullanmak yerine, yerel olanı kullanmak istiyorum (bant genişliği nedeniyle).

Bu nedenle, bu yerel repo alt modül ve uzak repo arasında bir proxy olarak kullanmak istiyorum. Mümkün mü?

Şimdiden teşekkürler.

Not: KaynakTree'de nasıl yapılacağını anlatırsanız çok memnun olurum.


Düzenleme: Ben ne demek istediğimi çizmek, işte benim soru açıklığa kavuşturmak terminolojiyi yoksun düşünüyorum: enter image description here

cevap

1

submodule istediğiniz herhangi deposu olabilir, ancak isterseniz Yerel olarak eklemek için bunun için bir supported protocol gerekir. İlk protokol açıklanan yukarıdaki linkte

clone için izin Local protocol path veya file:// kullanıyor

Local Protocol

en temel Yerel protokolünü olduğu Uzak depo, diskteki başka bir dizinde.

Genellikle, ekibinizdeki herkes NFS bağlayıcısı gibi paylaşılan bir dosya sistemine veya herkesin aynı bilgisayarda oturum açması olasılığına sahip olması durumunda kullanılır.

Bu, tüm kod deposu örnekleriniz aynı bilgisayarda yer alacağından ve çok daha büyük bir felakete yol açacağı için ideal olmazdı.

paylaşılan monte dosya sistemi varsa, o zaman, clone yapabilirsiniz local file-based repository ila push ve pull.

böyle veya mevcut projeye uzaktan kumanda olarak birini eklemek için bir depo clone için URL olarak depo için path kullanın.

Örneğin, yerel bir depoyu klonlamak için, böyle bir şey çalıştırabilirsiniz:

git clone /opt/git/project.git 

Yoksa bunu yapabilirsiniz: Açıkça belirtirseniz

git clone file:///opt/git/project.git 

Git biraz farklı faaliyet URL'nin başında file://.

Yolu belirtirseniz, Git sabit hat kullanmayı dener veya doğrudan ihtiyaç duyduğu dosyaları kopyalamaya çalışır.

file://'u belirtirseniz, Git, verileri normalde çok daha az verimli bir şekilde veri aktarma yöntemi olan bir ağ üzerinden aktarmak için kullandığı işlemleri başlatır.

file:// önekini belirtmenin esas nedeni, deponun temiz bir kopyasının, başka bir sürüm denetim sisteminden veya benzer bir öğeden sonra genellikle dışarıdan alınan dış kaynaklı referanslar veya nesneler içermemesidir (Bakım görevleri için Git Dahili Değerleri'ne bakın).). Normal yolu burada kullanacağız, çünkü bunu yapmak neredeyse her zaman daha hızlıdır.

git remote add local_proj /opt/git/project.git 

To add a local repository to an existing Git project, you can run something like this:

Ardından, itmek ve bir ağ üzerinden bunu yaparken sanki o uzak mesafede çekebilir.