Git’teki Belirli Bir Yazarın Yaptığı Tüm Commitler Nasıl Listelenir?

Git, yazılım geliştirme dünyasında en yaygın kullanılan sürüm kontrol sistemlerinden biridir. Git, projelerde yapılan değişiklikleri izlemeyi ve yönetmeyi sağlar. Birçok yazılım geliştiricisi, projelerinde Git’i kullanarak dosya geçmişini takip eder. Ancak bazen belirli bir yazarın yaptığı commitleri listelemek gerekebilir. Bu makalede, Git’teki belirli bir yazarın yaptığı tüm commitleri nasıl listeleyeceğinizi adım adım ele alacağız.

Git’teki Yazar Bilgisi Nedir?

Git’teki her commit belirli bir yazar (author) ve committer (gönderen) bilgisi içerir. Yazar, commit’in yapıldığı anda değişiklikleri yapan kişiyi ifade eder. Commit mesajlarında ve geçmişinde bu yazarın adı, e-posta adresi ve diğer bilgiler yer alır. Eğer belirli bir yazarın yaptığı commitleri listelemek istiyorsanız, Git komut satırı arayüzü (CLI) veya çeşitli Git araçları kullanarak bu bilgileri filtrelemeniz mümkündür.

Git’teki Belirli Bir Yazarın Commitlerini Listeleme Yöntemleri

Git’teki belirli bir yazarın yaptığı commitleri listelemek için en yaygın yöntemler aşağıda sıralanmıştır:

1. Git Log Komutunu Kullanma

Git’in log komutu, projedeki commit geçmişini görüntülemenizi sağlar. Belirli bir yazarın yaptığı commitleri listelemek için, --author bayrağını kullanabilirsiniz. İşte örnek bir komut:

git log --author="Yazar Adı"

Bu komut, “Yazar Adı” yazarının yaptığı tüm commitleri listeleyecektir. Yazar adı, yazarın adını veya e-posta adresini içerebilir. Ayrıca, tarih, commit mesajı ve commit ID gibi bilgileri de görebilirsiniz.

2. Belirli Bir Yazarın Commit Mesajlarına Göre Filtreleme

Bir yazarın commitlerini yalnızca belirli bir mesajla filtrelemek isterseniz, --grep bayrağını kullanabilirsiniz. Örneğin:

git log --author="Yazar Adı" --grep="Özellik Ekleme"

Bu komut, “Yazar Adı”nın yaptığı ve “Özellik Ekleme” mesajını içeren commitleri listeleyecektir.

3. Git Log Çıktısını Biçimlendirme

Çıktıyı daha okunabilir hale getirmek veya yalnızca belirli bilgileri görmek istiyorsanız, --oneline veya --pretty gibi parametreler kullanabilirsiniz. İşte örnek bir komut:

git log --author="Yazar Adı" --oneline

Bu komut, yazarın yaptığı commitleri kısa ve öz bir şekilde listeler. Alternatif olarak, daha detaylı bilgi almak için --pretty bayrağını kullanabilirsiniz:

git log --author="Yazar Adı" --pretty=format:"%h - %s (%an, %ar)"

Bu komut, commit hash’ini (%h), commit mesajını (%s), yazar adını (%an) ve commit zamanını (%ar) içerir.

4. Yazarın Commit Sayısını Öğrenme

Bir yazarın yaptığı commit sayısını öğrenmek için, git shortlog komutunu kullanabilirsiniz:

git shortlog -s -n --author="Yazar Adı"

Bu komut, “Yazar Adı”nın yaptığı toplam commit sayısını listeler. -s bayrağı sadece sayıyı gösterir, -n bayrağı ise commit sayısına göre sıralama yapar.

Filtreleme ve Özelleştirme Seçenekleri

Git, commit geçmişini daha da özelleştirmek ve filtrelemek için bir dizi ek seçenek sunar. İşte bu seçeneklerden bazıları:

1. Tarihe Göre Filtreleme

Bir yazarın commitlerini belirli bir tarih aralığında filtrelemek için --since ve --until bayraklarını kullanabilirsiniz. Örneğin:

git log --author="Yazar Adı" --since="2024-01-01" --until="2024-12-31"

Bu komut, yalnızca 2024 yılı içinde yapılan commitleri listeleyecektir.

2. Belirli Bir Dosya İçin Commit Filtreleme

Bir dosya üzerindeki değişiklikleri görmek için, commit geçmişini bir dosya ismiyle birlikte filtreleyebilirsiniz:

git log --author="Yazar Adı" -- 

Bu komut, sadece belirtilen dosyada yapılan değişiklikleri gösterecektir.

Sonuç

Git’teki belirli bir yazarın yaptığı commitleri listelemek oldukça basittir. git log, git shortlog ve çeşitli filtreleme seçenekleri ile yazar bazında commit geçmişini kolayca inceleyebilirsiniz. Bu komutlar sayesinde, projelerdeki katkıları takip etmek ve geçmişteki değişiklikleri görmek çok daha verimli hale gelir.

Git’in güçlü komutları ve filtreleme seçenekleri sayesinde, yazılım geliştirme süreçlerinde daha etkin bir versiyon kontrolü sağlanabilir. Git’i kullanarak projelerinizin her yönünü takip edebilir ve daha verimli bir iş akışı oluşturabilirsiniz.