Etiket arşivi: git hook

Git, Her “Push” Sonrası Otomatik Olarak E-posta Atsın

Güzel bir başlık olmadı. Git’te kod değişikliklerini depoya göndermek için “git push” komutunu kullanırız. Bu yazıda, her “git push” komutundan sonra belli bir e-posta adresine otomatik olarak bu “push” ile ilgili bilgi gitmesini nasıl sağlayacağınızı yazacağım.

SVN kullananlar için ise konuyu şöyle açıklayabilirim; svn’de her commit’ten sonra belli bir e-posta adresine commit hakkında bilgi gönderilebiliyor. Bu yazıda anlatacağım şey bunun git’te nasıl yapılacağı.

Git repository’lerinde hooks klasörü bulunuyor. Bu işlemi de bir hook dosyası sayesinde yapabiliyoruz. Bu hook dosyasını buradan indirebilirsiniz. İndirdikten sonra bu dosyayı git deponuzudaki hooks klasörü altına taşıyın. Dosya ismini post-receive olarak isimlendirin ve dosyayı çalıştırılabilir bir dosya haline getirin.

Ardından git deponuzdaki config dosyasını düzenleyin. Şuna benzer bir hale gelsin;

[core]
repositoryformatversion = 0
filemode = true
bare = true
[hooks]
mailinglist = “<commitler-bu-eposta>@<adresine-gelecek>.com”
senderemail = “git@<projeniz>.com”
emailprefix = “[<projeniz>-git] “

Bu ayarı da yaptıktan sonra her “git push” sonrası post-receive hook’u otomatik olarak mailinglist’in karşısında bulunan e-posta adresine bir e-posta gönderecek.

E-postalarda proje adınız “UNNAMED PROJECT” olarak görünüyorsa git deponuzdaki description dosyasının içine proje adınızı yazın.

Daha detaylı ingilizce bir yazı; //pkill.info/blog/post/setting-up-git-commit-email-notification.html