Git'in submodule desteğine bakmak isteyebilirsiniz. Bir alt modül, bir git deposunu başka bir git deposuna yerleştirmenize izin verir. Bu tür şeyler için alternative solutions var, ama onları ben kullanmadım.
örneği şöyle olabilir: Eğer alt modüllerinin bir depo klonlama ise
$ git clone git://github.com/username/project.git
$ cd project
$ git submodule add git://github.com/username/framework.git framework
$ git commit -m "added framework submodule"
, sen --recursive
seçeneğini kullanmanız gerekir:, düzenli klonlayabilirsiniz
$ git clone --recursive git://<repository-with-submodules>.git
Veya alternatif ve sonra çalıştırın:
$ git submodule init
$ git submodule update
Bağlantılı belgeyi okuyun (ve git submodule --help
) Daha fazla bilgi için. değişiklikler altmodülün yapılırsa
, bu gibi onları getirmek:
# first update the submodule just like any other git repository
$ cd project/framework
$ git pull
# now you have to record the new commit in the parent repository
$ cd ..
$ git commit -m "updated framework submodule"
Son adım gereklidir git (belirli bir alt modülün ilişkili kesinleştirme belirli bir kaydını tutar çünkü zaman herkes böylece ebeveynleri klonlar; alt modülün en güncel düzeltmesinden ziyade, alt modülün bu sürümünü alırlar; bu, üst havuzda tasarlandığı şekilde çalışmasını engelleyecek değişiklikleri sonlandırabilirdi). Bu nedenle, alt modülü güncellerseniz, yeni işlemi ebeveynte kaydetmeniz gerekir.
framework
alt modülünde değişiklik yaparsanız, başka bir depoda yaptığınız gibi tekrar yalnızca git push
olur. Daha sonra ana revizyonda yeni revizyon gerçekleştirmeniz gerekir.
Kusursuz, bu yüzden Framework’e değişiklikler yapıldığında, bunları bir modülüne şimdi nasıl projeye çekebilirim? Ayrıca, proje yerine Framework'de değişiklikler yaparsam, bunları Framework git repo'ya nasıl geri götürebilirim? – Justin
Cevabımı güncelledim. – larsks
Bir küçük not. Alt modül HEAD'ı ayrılır, böylece alt modülde değişiklik yapmaya dikkat etmeniz gerekir. Bir şube oluşturun (ya da bir şubeye geçin), değişiklikleri yapın, işleyin ve sonra itin. – GoZoner