CodeBlanks Logo Icon CodeBlanks

Hook nedir?

Hook'ın olay tetikleyici betik olduğunu öğrenirsin.

Git hook nedir?

Git hook, Git'teki belirli olaylar gerçekleştiğinde otomatik çalışan betiktir. Bu betikler depo içindeki .git/hooks dizininde bulunur ve commit gibi işlemlerden önce veya sonra tetiklenebilir. Böylece tekrarlanan kontrolleri elle yapmak yerine otomatikleştirebilirsin.

.git/hooks/
  pre-commit
  commit-msg

Hook dosyalarının konumu

Git hook dosyaları varsayılan olarak deponun .git/hooks dizininde bulunur. Depo oluşturulduğunda (git init) bu dizine .sample uzantılı örnek dosyalar eklenir. Bir hook'u etkinleştirmek için ilgili örnek dosyanın uzantısını kaldırıp çalıştırılabilir bir betik hazırlayabilirsin.

.git/hooks/pre-commit.sample
.git/hooks/commit-msg.sample

Hook'lar yerel depoda çalışır; başka bir kullanıcı depoyu klonladığında bu betikler otomatik olarak paylaşılmaz.

Uygulama Hook dosyası yolunu oluştur

hookPath değişkenine .git/hooks dizinindeki pre-commit dosyasının yolunu ata. Ardından yolu ekrana yazdır.

Başlangıç kodu

terminal
// Hook dosyasının yolunu tanımla
const hookPath = "";

// Yolu yazdır

Örnek çözüm

terminal
const hookPath = ".git/hooks/pre-commit";
console.log(hookPath);

Beklenen çıktı

.git/hooks/pre-commit

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Git hook'larının temel görevi nedir?

  • Depodaki tüm dalları otomatik silmek
  • Commit geçmişini şifrelemek
  • Uzak depoyu yerel depoya dönüştürmek
  • Belirli Git olaylarında betik çalıştırmak Doğru cevap

Açıklama: Hook'lar belirli Git olaylarına bağlanan betiklerdir ve ilgili olay gerçekleştiğinde otomatik çalışırlar.

2 Hook dizinini tamamla

Soru
.git/____/pre-commit
Cevap
.git/hooks/pre-commit

Açıklama: Git hook dosyaları varsayılan olarak .git/hooks dizininde saklanır.

3 Hook temel kavramları

Kavram Anlamı
Hook Olayla tetiklenen betik
.git/hooks Hook dosyalarının dizini
Event Betiği başlatan olay
.sample Örnek hook uzantısı

İleri seviye bölümündeki tüm dersler