Git Alt Modüller

İleri Seviye Git

Amanda Crawford-Adamo

Software and Data Engineer

Git Alt Modül nedir?

Git Alt Modül

git submodule
  • Başka bir deponun içinde iç içe geçmiş depo
  • Ayrı sürüm kontrolü ve geçmiş
  • Alt modüldeki değişiklikler ana depoyu etkilemez
  • Ana depo, alt modülün belirli bir sürümüne referans verebilir

İçinde birden çok depo bulunan bir deponun görseli.

İleri Seviye Git

Alt modül ekleme

Bir bağlantı veya dizin kullanarak, path altına alt modül ekleme.

git submodule add <repository link|dir> <path>

$$

Örnek

ETL projesine, ETL deposundaki libs/validator klasörü altına data validator kütüphanesini ekler.

git submodule add https://github.com/example/data-validator.git libs/validator
İleri Seviye Git

Alt modülleri listeleme

Bir projedeki tüm alt modülleri listeleme

git submodule status

Örnek

$ git submodule status
e1f2...7w8x9 data_cleaning_lib
a1b2...q7r8 api_connector
d9e8...t3u2 visualization_toolkit
İleri Seviye Git

Alt modülleri güncelleme

Alt modülü en son değişikliklerle güncelleme

Birkaç seçenek vardır:

  1. Kaynak kodu yerel bilgisayarınızda olan tüm alt modülleri günceller.
    git submodule update --init 
    
  2. Kaynak kodu uzak depoda olan tüm alt modülleri günceller.
    git submodule update --init --remote 
    
  3. Belirli bir alt modülü günceller
    git submodule update --init <path_to_submodule>
    
İleri Seviye Git

Alt modülleri kaldırma

Alt modül kaldırma süreci

  1. Alt modülü başlatılmamış duruma getirin.
    git submodule deinit <submodule_name>
    
  2. Alt modülü git depo indeksinden kaldırın.
    git rm <path>
    
İleri Seviye Git

Büyük bir depodan alt modül çıkarmak

  1. Yeni alt modül deposunda olması gereken tüm dosyaları deponun dışındaki başka bir klasöre kopyalayın.

  2. Yeni klasörde alt modül için yeni bir depo oluşturun:

    git init <new-submodule>
    
  3. Ana projeden ilgili dosyaları ve geçmişi çıkarmak için git filter-repo kullanın:

    git filter-repo --path <extract_path> --invert-paths
    
  4. Çıkarılan depoyu ana projeye alt modül olarak ekleyin:

    git submodule add <new-submodule_path> <path_to_store_submodule>
    
İleri Seviye Git

Alt modüller ne zaman kullanılır ve en iyi uygulamalar

Kullanım durumları:

  1. Harici kütüphaneleri yönetme
  2. Projeler arasında kod paylaşma
  3. Bağımlılıkların belirli sürümlerini tutma

En iyi uygulamalar:

  1. Alt modülleri güncel tutun
  2. Bağıl yollar kullanın
  3. Ekip ile değişiklikleri iletin
İleri Seviye Git

Hadi pratik yapalım!

İleri Seviye Git

Preparing Video For Download...