Git ile ekip çalışması: dallar ve iş akışları
Ekipte aynı depoda çalışmayı, dal stratejilerini, kod incelemesini ve uzak depoları düzenli tutmayı uygulayarak öğrenirsin.
Seviye 201 · 17 ders · 15 pratik lab
Dersler
Dal stratejileri
- Neden bir dal stratejisi gerekir
- Ana dal odaklı çalışma ve kısa ömürlü dallar
- Özellik, sürüm ve düzeltme dalları
- Dal adlandırma ve temizlik
- Kısa görev: küçük bir ekip için dal düzeni kur
Birleştirme türleri
- İleri sarma ve birleştirme commit’i
- Sıkıştırarak birleştirmek (squash)
- Üç yollu birleştirme ve zor çatışmalar
- mergetool ve rerere ile çatışmaları hızlandırmak
- Kısa görev: üç dalı çatışmaları çözerek birleştir
Uzak depolarla ekip
- fetch ve pull farkı, izleme dalları
- Birden çok uzak depo: origin ve upstream
- Çatal ve yama ile katkı akışı: format-patch, am
- İncelenmesi kolay commit’ler ve değişiklik açıklaması
- Ana dalı korumak: kurallar ve kancalar
- Kısa görev: başka bir depoya yama gönder ve uygula
Kapanış
- Bitirme görevi: üç kişilik ekibin bir sürümünü dallarla hazırla
Pratik lablar
- Birleşmiş dalları temizle: Ana dala birleşmiş yerel ve uzak dalları sil, birleşmemiş olanlara dokunma ve git branch --merged ile git branch -r çıktısıyla sonucu göster.
- Kurala uymayan dal adları: Mavi Liman Kargo deposundaki dalları ekibin feature/ ve fix/ adlandırma kuralına göre yerelde ve uzakta yeniden adlandır ve izleme bağlantılarının bozulmadığını git branch -vv ile kanıtla.
- Ana dala dönmeyen hotfix: Sürüm dalına girip ana dala hiç dönmemiş düzeltmeleri git log ile bul, yalnızca eksik olanları ana dala taşı ve iki dal arasında başka eksik düzeltme kalmadığını göster.
- Her özellik için birleştirme commit’i: Ekip kuralına uyarak özellik dalını fast-forward yerine birleştirme commit’iyle ana dala al ve git log --graph ile dalın izinin göründüğünü göster.
- Gürültülü dalı tek commit’e indir: Onlarca küçük commit içeren dalı ana dala tek ve iyi açıklanmış bir commit olarak squash ile birleştir ve dalın güvenle silinebildiğini göster.
- Squash sonrası devam eden dal: Squash ile birleştirildikten sonra üzerinde çalışılmaya devam edilen dalı yalnızca yeni commitleri taşıyacak şekilde ana dalın üstüne al ve tekrar birleştirirken eski çakışmaların çıkmadığını kanıtla.
- Çakışmayı birleştirme aracıyla çöz: Terminalde çalışan bir birleştirme aracını git mergetool için yapılandır, bekleyen çakışmayı onunla çöz ve geride .orig dosyası kalmadığını göster.
- Her seferinde aynı çakışma: rerere’yi aç, uzun ömürlü daldaki çakışmayı bir kez çöz, birleştirmeyi geri alıp tekrarla ve çakışmanın kendiliğinden çözüldüğünü kanıtla.
- Taşınan klasör, düzenlenen dosyalar: Bir dalın klasör yapısını değiştirdiği, diğerinin eski yollardaki dosyaları düzenlediği Selvi Okulları deposunu birleştir, tüm değişikliklerin yeni yollara ulaştığını test betiğiyle kanıtla.
- Fork’u asıl depoyla eşitle: Fork’una asıl depoyu upstream olarak ekle, ana dalı onunla eşitle, kendi uzak deponu güncelle ve iki uzak dalın aynı commit’i gösterdiğini kanıtla.
- Uymayan yama dizisi: Eski bir sürüme göre hazırlanmış yama dizisini git am ile uygula, bağlam kayması yüzünden duran yamaları üç yollu birleştirmeyle tamamla ve yazar bilgilerinin korunduğunu göster.
- Yanlış yere bağlı dallar: origin ve upstream arasında karışmış izleme ayarları yüzünden yanlış yerden çekilen dalları düzelt, her dalı doğru uzağa bağla ve git branch -vv ile ileri/geri sayılarını raporla.
- Ana dala doğrudan push’u engelle: Ana dala doğrudan gönderimi durduran bir pre-push kancası yaz ve bir özellik dalı gönderilirken çalışmaya devam ettiğini iki denemeyle göster.
- Değişiklik numarası zorunlu: Kervan Seyahat ekibi için commit mesajında değişiklik numarası yoksa commit’i reddeden ve birleştirme commitlerini muaf tutan bir commit-msg kancası yaz ve test et.
- Ana dala incelemesiz girenler: Ana dalda bir birleştirme isteği üzerinden gelmeden doğrudan eklenmiş commitleri birinci ebeveyn geçmişinden bul, yazar ve tarihleriyle listele ve korumanın nasıl atlatıldığını kısa notla açıkla.
Kurs hakkında
Ekipte aynı depoda çalışmayı, dal stratejilerini, kod incelemesini ve uzak depoları düzenli tutmayı uygulayarak öğrenirsin.
Ne öğreneceksin
- Dal stratejileri
- Birleştirme türleri
- Uzak depolarla ekip
- Kapanış
Ön koşullar
Aynı yolun 101 düzeyindeki kurslarını bitirmiş olmak ya da o konuları biliyor olmak yeterlidir.
Lab ortamı
Dersler, tarayıcında açılan sana özel bir Kali Linux terminalinde geçer. Kurulum gerekmez; lab her derste temiz başlar.
Sık sorulan sorular
- Bu kurs benim düzeyime uygun mu?
- Kurs 201 düzeyindedir; daha düşük düzeydeki kursların konularını bildiğin varsayılır.
- Kurulum gerekir mi?
- Hayır. Her ders tarayıcında açılan sana özel bir lab ortamında geçer.
- Dersler nasıl işleniyor?
- Her ders 8 ile 10 adımdan ve bir kısa sınavdan oluşur. İlk adımlarda yazman gereken komut gösterilir, sonraki adımlarda yardım azalır; iki denemede takılırsan çözüm açılır.
- Ücretsiz deneyebilir miyim?
- Evet. Her kursun ilk üç dersi ücretsizdir.