0Pricing
DevOps Bootcamp · Ders

Gönderim Öncesi ve Birleştirme Sonrası Kancaları

Lint denetimi için gönderim öncesi kancalar ve bildirimler için birleştirme sonrası kancalarla ilgili pratik örnekleri hayata geçirin.

Gönderim Öncesi ve Birleştirme Sonrası Kancaları, CoddyKit'te ücretsiz bir DevOps Bootcamp dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, DevOps Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. DevOps Bootcamp kursu toplamda 4 dersten oluşur.

Uygulamalı Git Kancalarına Giriş

Önceki derste Git kancalarını ve farklı türlerini öğrendik. Şimdi uygulamaya geçelim!

İki güçlü kancayı hayata geçirmeyi inceleyeceğiz: pre-commit ve post-merge. Bunlar, bir işleme öncesinde denetimleri ve bir birleştirme sonrasında eylemleri otomatikleştirmenizi sağlar.

Pre-commit: Kalite Kapınız

pre-commit kancası, bir işleme işleminden önce, ancak değişikliklerinizi hazırlama alanına eklemek için git add kullandıktan sonra çalışır.

  • Kod kalitesini ve biçemini zorunlu kılmak için idealdir.
  • Linter'ları, biçem denetleyicilerini ve hatta temel birim testlerini çalıştırmak için kullanabilirsiniz.
  • Betiğin çıkış durumu sıfırdan farklıysa işleme otomatik olarak iptal edilir.

Bu, yalnızca yüksek kaliteli ve kurallara uygun kodun deponuza girmesini sağlar.

Pre-commit Kancasını Ayarlama

Bir pre-commit kancası oluşturmak için projenizin .git/hooks/ dizini içinde pre-commit adlı çalıştırılabilir bir dosya oluşturmanız gerekir.

Git, .sample uzantılı örnek kancalar sağlar. Bu uzantıyı kaldırıp kendi betiğinizi ekleyeceksiniz.

Dosyayı şu komutla çalıştırılabilir hâle getirmeyi unutmayın: chmod +x .git/hooks/pre-commit

Örnek: 'TODO' İçeren İşlemeleri Önleme

Hâlâ "TODO" sözcüğünü içeren dosyaları işlemenizi önleyen basit bir pre-commit kancası oluşturalım. Bu, tamamlanmamış görevlerin kod tabanınıza sızmamasını sağlamak için yaygın bir uygulamadır.

Betiğin hazırlama alanındaki tüm dosyaları bu anahtar sözcük için denetlemesini sağlayacağız. Sözcük bulunursa işleme durdurulacaktır.

Pre-commit Kancası: TODO'lara Hayır!

.git/hooks/pre-commit dosyanız için basit bir kabuk betiği aşağıda verilmiştir. Hazırlama alanındaki .txt dosyalarını "TODO" sözcüğü için denetler.

Adımlar:

  1. .git/hooks/pre-commit dosyasını oluşturun
  2. Bu kodu yapıştırın
  3. chmod +x .git/hooks/pre-commit komutunu çalıştırın
#!/bin/sh

# Check staged .txt files for "TODO"
for file in $(git diff --cached --name-only --diff-filter=ACM | grep '\.txt$'); do
  if grep -q "TODO" "$file"; then
    echo "ERROR: Found 'TODO' in staged file: $file"
    echo "Please remove TODOs before committing."
    exit 1
  fi
done

exit 0

Pre-commit Kancanızı Sınama

Bu kancayı sınamak için önce bir dosya (örneğin test.txt) oluşturup içine "TODO: Finish this" ekleyin. Ardından dosyayı işlemeyi deneyin:

git add test.txt
git commit -m "Add test file"

İşleme iptal edilmeli ve kancanızın hata iletisini görmelisiniz. test.txt içinden "TODO" ifadesini kaldırın; işleme başarılı olacaktır!

Post-merge: Birleştirmeler Sonrasını Otomatikleştirme

post-merge kancası, bir git merge komutu başarıyla tamamlandıktan sonra otomatik olarak çalışır.

  • Kod birleştirildikten sonra gerçekleştirilmesi gereken tümleştirme görevleri için kullanışlıdır.
  • Örnek olarak ekip üyelerine bildirim gönderme, proje bağımlılıklarını güncelleme (örneğin npm install) veya bir derleme betiği çalıştırma verilebilir.
  • pre-commit kancasının aksine, bu kanca birleştirmenin sonucunu etkilemez.

Birleştirme sonrası süreçleri otomatikleştirmek için harika bir yoldur.

Post-merge Kancasını Ayarlama

pre-commit kancasına benzer şekilde, .git/hooks/ dizininiz içinde post-merge adlı bir dosya oluşturursunuz.

Dosyanın çalıştırılabilir olduğundan yine emin olun:

chmod +x .git/hooks/post-merge

Bu betik, deponuzda bir birleştirme her tamamlandığında çalışır.

Örnek: Birleştirmenin Tamamlandığına Dair Uyarı

Birleştirmenin az önce gerçekleştiğini doğrulamak üzere konsola bir ileti yazdıran basit bir post-merge kancası oluşturalım. Gerçek bir senaryoda bu kanca bir CI/CD pipeline'ını tetikleyebilir veya bir sohbet uygulamasına bildirim gönderebilir.

Post-merge Kancası: Bildirim

.git/hooks/post-merge dosyanız için basit bir kabuk betiği aşağıda verilmiştir. Bir doğrulama iletisi yazdırır.

Adımlar:

  1. .git/hooks/post-merge dosyasını oluşturun
  2. Bu kodu yapıştırın
  3. chmod +x .git/hooks/post-merge komutunu çalıştırın
#!/bin/sh

# This hook runs after a merge operation.
echo "--- Post-merge hook triggered ---"
echo "A merge has just completed in your repository."
echo "You might want to run 'npm install' or 'bundle install' now."
echo "---------------------------------"

exit 0

Kanca Kontrolü: Pre-commit ve Post-merge

Aşağıdaki görevlerden hangisi genellikle bir pre-commit kancası tarafından gerçekleştirilir?

Özet: Kancalar İş Başında

Harika iş çıkardınız! Bu derste uygulamalı Git kancalarını hayata geçirmeyi öğrendiniz.

  • Pre-commit kancaları, bir işlemeden önce biçem denetimi veya test gibi denetimleri çalıştırarak kalite kapısı görevi görür.
  • Post-merge kancaları, bildirimler veya bağımlılık güncellemeleri gibi eylemleri birleştirmeden sonra otomatikleştirir.

Bu kancalar, standartları zorunlu kılmak ve Git deponuzdaki iş akışlarını otomatikleştirmek için güçlü araçlardır. Git deneyiminizi daha da özelleştirmek için diğer kanca türlerini incelemeyi sürdürün!

Sıkça Sorulan Sorular

“Gönderim Öncesi ve Birleştirme Sonrası Kancaları” dersi ücretsiz mi?

Evet — “Gönderim Öncesi ve Birleştirme Sonrası Kancaları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve DevOps Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. DevOps Bootcamp kursu toplamda 4 dersten oluşur.

“Gönderim Öncesi ve Birleştirme Sonrası Kancaları” dersinde ne öğreneceğim?

Lint denetimi için gönderim öncesi kancalar ve bildirimler için birleştirme sonrası kancalarla ilgili pratik örnekleri hayata geçirin. DevOps Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

DevOps Bootcamp öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te DevOps Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Gönderim Öncesi ve Birleştirme Sonrası Kancaları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu DevOps Bootcamp dersinde kod yazıp çalıştırabilir miyim?

Evet. Her DevOps Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Git Kancalarını Anlama
  2. Gönderim Öncesi ve Birleştirme Sonrası Kancaları
  3. Git Yapılandırmasını Özelleştirme
  4. Husky ile Kancaları Paylaşma
← DevOps Bootcamp Sayfasına Dön