Git Hooks Nedir ve Nasıl Kullanılır? Adım Adım Rehber

---

BFS

---

Git Hooks'a Giriş: Kodunuzu Kontrol Altına Alın



Git, yazılım geliştirme dünyasında vazgeçilmez bir araç. Hepimiz, kodlarımızı versiyonlamak ve takım olarak uyum içinde çalışmak için Git'i kullanıyoruz. Ama biraz daha derinlere inmek, işimizi kolaylaştırmak ve daha verimli hale gelmek mümkün! İşte burada devreye *Git Hooks* giriyor.

Git Hooks, git komutları tetiklendiğinde çalışan özel betiklerdir. Bu betikler, bir komutun ne zaman çalıştığına göre değişiklik yapmanıza imkan tanır. Örneğin, commit yapmadan önce dosyalarınızda belirli bir kontrol gerçekleştirebilir, ya da push işlemi öncesi kodunuzu otomatik olarak test edebilirsiniz. Bu yazımızda Git Hooks'un temellerini öğrenecek ve kullanımını detaylı bir şekilde anlatacağım.

Git Hooks Ne İşe Yarar?



Git Hooks, yazılım geliştirme süreçlerinde çok güçlü bir araçtır. Örneğin, *pre-commit hook* kullanarak commit işlemi yapmadan önce dosyalarınızı kontrol edebilir, hatalı bir kodu önceden engelleyebilirsiniz. Ya da *post-commit hook* ile commit sonrasında belirli işlemleri gerçekleştirebilirsiniz. Git Hooks sayesinde daha güvenli, daha verimli ve hatasız bir geliştirme süreci elde edebilirsiniz.

Git Hooks Nasıl Kurulur?



Git Hooks kullanmak oldukça basittir. Git, her proje için `.git/hooks` klasörünü otomatik olarak oluşturur ve burada çeşitli şablon dosyaları bulunur. Bu şablonları kullanarak işinize yarayan bir hook'u kolayca oluşturabilirsiniz. Aşağıda Git Hooks kullanımına dair basit bir örnekle başlayalım.

Örnek: Commit Öncesi Dosya Kontrolü



Diyelim ki bir projede belirli kurallar doğrultusunda kod yazıyoruz ve her commit öncesi dosyalarımızın stilini kontrol etmek istiyoruz. Git, bunun için *pre-commit hook* kullanmamıza olanak tanır.

İlk olarak, `.git/hooks` klasöründe bulunan `pre-commit.sample` dosyasını `pre-commit` olarak yeniden adlandırıyoruz. Ardından dosyanın içine aşağıdaki gibi bir komut ekliyoruz:


#!/bin/sh
# Dosya stili kontrolü
if ! grep -q "console.log" "$1"; then
    echo "Kodda 'console.log' bulunmamalıdır!"
    exit 1
fi


Bu kod, commit işleminden önce dosyada `console.log` olup olmadığını kontrol eder. Eğer varsa, commit işlemi başarısız olur ve kullanıcıya hata mesajı verir.

Git Hooks'un Popüler Türleri



Git Hooks'un birçok farklı türü vardır. Bunlardan bazıları:

- pre-commit: Commit işlemi öncesi çalıştırılır. Kodu kontrol etmek, testleri çalıştırmak için kullanılır.
- commit-msg: Commit mesajının doğruluğunu kontrol etmek için kullanılır.
- post-commit: Commit işlemi sonrasında çalıştırılır. Genellikle log yazmak, bildirim göndermek gibi işlemler için kullanılır.
- pre-push: Push işleminden önce çalıştırılır. Kodu test etmek veya doğrulamak için kullanılır.
- post-merge: Birleştirme işlemi sonrasında çalıştırılır.

Git Hooks'un bu türleri, sürecinizi özelleştirmenize yardımcı olabilir. İhtiyacınıza göre farklı kombinasyonlar oluşturabilirsiniz.

Git Hooks ile Test ve CI Entegrasyonu



Git Hooks, sürekli entegrasyon (CI) ve test süreçlerini yönetmek için mükemmel bir araçtır. Örneğin, *pre-push* hook'u ile her push işleminden önce otomatik testler çalıştırabilir ve testler başarılı olmadıkça kodunuzu push edemezsiniz. Böylece kodunuzun her zaman temiz ve çalışır durumda kalmasını sağlayabilirsiniz.

İşte pre-push hook için basit bir test örneği:


#!/bin/sh
# Otomatik test çalıştırma
npm test
if [ $? -ne 0 ]; then
    echo "Testler başarısız oldu. Push işlemi iptal ediliyor."
    exit 1
fi


Bu kod, push işleminden önce `npm test` komutunu çalıştırır ve testlerin başarısız olması durumunda push işlemine izin vermez.

Sonuç: Git Hooks ile Daha Verimli Bir Geliştirme Süreci



Git Hooks, yazılım geliştirme sürecinizde birçok hatayı önleyebilir ve kod kalitesini artırabilir. Commit'ler, push'lar ve merge'ler gibi temel işlemlerin öncesinde ve sonrasında otomatik testler, kontroller yaparak işinizi çok daha verimli hale getirebilirsiniz. Herhangi bir hatalı kodun erkenden tespit edilmesi, yazılım geliştirme süreçlerinde zaman kazandırır ve kaliteyi artırır.

Git Hooks ile projelerinizi çok daha temiz ve verimli hale getirebilirsiniz. Kendi iş akışınıza uygun olan hook'ları belirleyerek, yazılım geliştirme sürecinde otomasyonu artırabilir ve hata risklerini azaltabilirsiniz.

Eğer Git ile yeni tanışıyorsanız, Git Hooks'u kullanmaya başlamak size pek çok avantaj sağlayacaktır. Hem projelerinizdeki hataları önceden görüp engellemenizi hem de sürecinizi çok daha verimli hale getirmenizi sağlar.

İlgili Yazılar

Benzer konularda diğer yazılarımız

Modern Yazılım Geliştirme Süreçlerinde Yapay Zeka ve Otomasyonun Rolü: 2025’te Yeni Başlangıçlar

Yazılım geliştirme dünyası hızla evriliyor. 2025 yılına adım attığımızda, bu süreçte yapay zeka ve otomasyonun rolü hiç olmadığı kadar önemli hale geldi. Geçmişte yazılım geliştirme yalnızca kod yazmak ve sistemleri test etmekle sınırlıydı. Ancak bugünün...

Yazılım Geliştiriciler İçin Verimli Çalışma Alanı Oluşturmanın İpuçları: En İyi Araçlar ve Yöntemler

Verimli Bir Çalışma Alanı Neden Önemlidir?Yazılım geliştirici olmanın zorluklarından biri de sürekli odaklanmış ve üretken olabilmektir. Bir geliştirici olarak, işlerinizin çoğunu bilgisayar başında geçirirsiniz ve bu süre zarfında verimli bir çalışma...

Kodunuzu Temiz Tutun: Yazılımda 'Yavaş Kodu' Tespit Etmenin 7 Etkili Yolu

Yazılım geliştirme dünyasında zamanın ne kadar kıymetli olduğunu hepimiz biliyoruz. Yazdığınız kodun hızlı ve verimli olması, projelerinizi başarılı kılmanın anahtarıdır. Ama ne yazık ki, çoğu zaman kodu hızlı yazmak uğruna temizliği ihmal edebiliriz....