git alt modül foreach git çekme kökeni ana vs. git çekme - recursive-submodules


3

Birkaç alt modül içeren bir depoyu yönetiyorum. Bir süredir kullanıyorum

$ git submodule foreach git pull origin master

Tüm bu adamlar için en son değişiklikleri kabul etmek. Ancak, son zamanlarda öğrendim

$ git pull --recurse-submodules

ve bir denedi, ancak değişikliklerin yalnızca getirildiği anlaşılıyor, yani

$ git submodule update --recursive

aslında değişiklikleri kontrol etmek için. Ancak, bu son, alt modüller açıkça değişiklikler çeken rağmen depoda hiçbir şey yapmıyor gibi görünüyor. Ayrıca, alt modüllerimin ana veya herhangi bir dal yerine bazı taahhütlerde bulunduğunu da fark ettim.

  1. Yanlış bir şey mi yapıyorum?
  2. Yoksa bu, işleri yapma foreachalışkanlığımın bir ürünü mü?
  3. İşleri nasıl düzeltebilirim pull --recurse-submodulesve submodule update --recursivebeklendiği gibi çalışabilirim?

Yanıtlar:


1

git submodule update --recursiveAlt modülleri üst depodaki işleme uyacak şekilde güncelliyor. Bu nedenle, bu komutun bir şey yapması için ana depoda bir değişiklik yapmanız gerekir.

Bu kurulumla birlikte:

/proj/.git
/proj/module/.git

"Modül" de değişiklik yapar, taahhüt eder ve zorlarsınız. "Proj" 'te modül taahhüt ediyorsunuz (sadece alt modül taahhüt değişimini gösteriyor).

Şimdi, güncellemeyi çekip alt modüle ettiğinizde, yeni işlemi kullanmak için "modül" güncellenir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.