Git Hooks Nedir?
Git Hooks’u kullanarak, gereksiz hatalardan kaçınabilir, proje üzerinde tutarlılığı sağlayabilirsiniz. Eğer bir geliştiriciyseniz, bu araç size gerçekten hayat kurtarıcı olabilir.
Git Hooks Nerelerde Kullanılır?
- Pre-commit: Bu hook, commit işleminden önce çalışır. Kodu otomatik olarak test edebilir veya belirli kod standartlarının ihlali durumunda commit işlemini engelleyebilirsiniz.
- Pre-push: Kodunuzu uzak depoya göndermeden önce çalışır. Burada, kodunuzu test edebilir veya belirli bir kontrolü gerçekleştirebilirsiniz.
- Post-commit: Commit işleminden sonra çalışır ve commit işlemine dair bazı işlemler yapabilirsiniz, örneğin log dosyaları oluşturmak veya bildirim göndermek.
Git Hooks Kurulumu
1. Git Hooks Klasörüne Git
Öncelikle, projenizin kök dizininde `.git/hooks/` klasörüne gitmeniz gerekiyor.
```bash
cd .git/hooks
```
2. Hook Dosyalarını Düzenleme
Burada, birçok farklı hook dosyası bulunmaktadır. Her dosya, belirli bir Git komutunu tetiklediğinde çalışır. Örneğin, `pre-commit.sample` dosyasını açarak, ihtiyacınıza göre düzenleme yapabilirsiniz.
3. Hook Dosyasını Aktifleştirme
Dosyaların çoğu `.sample` uzantısıyla gelir. Bu dosyaları aktif hale getirebilmek için uzantıyı silmeniz yeterli olacaktır.
```bash
mv pre-commit.sample pre-commit
```
4. Kod Yazma
Artık, bu dosyanın içerisine ihtiyaç duyduğunuz komutları yazabilirsiniz. Örneğin, bir pre-commit hook’u oluşturduysanız, bunun içine bir test betiği yerleştirebilir veya kod formatını kontrol edebilirsiniz.
İşte basit bir pre-commit örneği:
#!/bin/sh
# Bu, pre-commit hook'unun örneğidir.
# Kodunuzu test edin
npm test
# Eğer testler başarısız olursa, commit işlemini durdur
if [ $? -ne 0 ]; then
echo "Testler başarısız oldu! Commit işlemi iptal ediliyor."
exit 1
fi
5. Test Etme
Şimdi bir commit yaparak, pre-commit hook’unuzun doğru çalışıp çalışmadığını test edebilirsiniz. Eğer testler başarısızsa, commit işlemi engellenecektir.
Git Hooks ile İş Akışınızı Otomatikleştirme
Örneğin, pre-push hook’u sayesinde, kodu uzak bir depoya göndermeden önce, tüm testlerin başarıyla geçtiğinden emin olabilirsiniz. Bu tür önlemler sayesinde takımınızın güvenli ve verimli çalışmasını sağlayabilirsiniz.
Git Hooks ile Hatalardan Kaçınma
Git Hooks İle En Yaygın Hatalar
- Çok Fazla Test: Hook dosyalarınızı, gereksiz yere uzun ve karmaşık hale getirmemek önemlidir. Aksi takdirde, işlem süreleri uzar ve takımınızın verimliliği düşer.