Muhtemelen projenizin belgelerinin bir kısmındaki her alt alanın “yukarı akışına” ilişkin öneki, URL'yi ve dalı belgelemelisiniz. Aşağıdaki örnekler, bu bilgilerin genellikle alt ağaç birleştirme taahhüt iletilerinize kaydedileceğini gösterir, ancak bu, birleştirmelerin ve/veya çekmelerin yapılmasının tam yoluna bağlıdır.
ilk alt ağaç birleştirme bu komutları ile oluşturmak düşünün:
git merge --no-commit sub/master
git read-tree -u --prefix=sub sub/master
git commit
aşağıdaki olacak iletiyi taahhüt:
Merge remote-tracking branch 'sub/master'
Biz uzaktan sub
seçildi olduğunu görebilir ve şube master
olarak adlandırıldı, ancak URL'yi görmüyoruz. Son adımda manuel işlemi yaparken mesaja URL'yi ekleyebilirsiniz.
Daha sonra, yeni “akıntıya karşı” değişiklikleri dahil etmek git pull
kullanabilirsiniz:
git pull -Xsubtree=sub sub master
varsayılan mesaj işlemek depo URL ve şube adı içerecektir:
Merge branch 'master' of server:path/to/repository
Öte yandan bir dal adı kullanmak yerine, doğrudan birleştirme işlemine atıfta bulunan ilk birleşme ve müteakip birleştirmelerdeki varyasyonlar (ör.yerine 15dbbda
), şube adının kaydedilmesini engelleyecektir; Aynı şey, birisi sub master
yerine . remotes/sub/master
'dan almaya karar verirse URL'yi kaydetmemek için de geçerlidir.
İçe aktardığım kütüphaneleri değiştireceğim ve bu değişiklikleri yayınlamak istemiyorum. Alt modüller harici depolarda yerel değişikliklere izin veriyor mu? Yoksa harici depolara mı bağlanıyorlar? – wanderingbear