Git submodule kullanımı ( repo içinde başka repo :)

in #git2 years ago (edited)

Merhaba;

Şöyle bir durumumuz olsun;

Bir ana reponuz var ve bu repo aslında, tüm alt yapıda çalışacak olan önemli işlevleri yerine getirecek kodları barındırıyor olsun.

Yeni bir repo açıp içine bu repoyu dahil etmeniz gerektiğinde ne yapmalıyız ?

Öyle ".gitignore dosyasına eklerim, ordan takla atıp buradan tutarım" diye uğraşmayalım içün git e "submodule" isimli fonksiyonu getirmişler.

Ana reponunuz ismi "ana-repo" olsun. Yeni reponunuzun ismi "yeni-repo" olsun. Yapılacaklar şu şekilde;

  1. cd ~/yazilim/yeni-repo
  2. git submodule add [email protected]:SuperRepolar/ana-repo.git

Buradaki ikinci adımdan sonra, yeni-repo nuzun dosyaları arasına yeni bir ".gitmodules" isimli dosya oluştuğunu görmelisiniz.

Yine ikinci adımdan sonra ana-repo isimli dizin oluştuğunu ve kodların geldiğini görmelisiniz. Bu işlem burada bitti.

Fakat, bir takım arkadaşınız sizin "yeni-repo" nuzu çekip çalışmak isterse ne yapmalı ?

  1. git clone [email protected]:SuperReporlar/yeni-repo.git
  2. git submodule update --init --recursive
  3. herhangi bir zaman submodul olarak eklediğiniz repoyu son versiyonuna geçirmek için "update" komutunu kullanmalısınız. # update your submodule
    git submodule update --remote

or (with rebase)

git submodule update --rebase --remote

İkinci adıma ihtiyaç duyma sebebimiz, repoyu indirdiğimizde, "ana-repo" dosyalarının inmemesi. İkinci adımı çalıştırdıktan sonra dizin içinde dosyaların indirildiğini görmelisiniz.

Daha önceden eklenmiş submodulün silinmesi;

git rm -rf SUBMODULE_DIZINININ_ADI

git submodule add [address] --> ile ".gitmodules" dosyası oluşturulur
git submodule update --> ile de ".git/config" dosyası güncellenir

İyi çalışmalar..

Sort:  

Congratulations @makseli! You received a personal award!

Happy Birthday! - You are on the Steem blockchain for 2 years!

You can view your badges on your Steem Board and compare to others on the Steem Ranking

Vote for @Steemitboard as a witness to get one more award and increased upvotes!

Coin Marketplace

STEEM 0.29
TRX 0.06
JST 0.039
BTC 35462.70
ETH 2441.41
USDT 1.00
SBD 3.95