Git Log Komutu Ne İşe Yarar?

Git, yazılım geliştirme dünyasında kullanılan en popüler versiyon kontrol sistemlerinden biridir. Git, bir projede yapılan değişiklikleri izlemek, eski sürümlere dönmek ve takım üyeleriyle etkin bir şekilde çalışmak için yaygın olarak tercih edilir. Git komutları arasında yer alan git log komutu ise, Git deposunda yapılmış tüm commit’lerin geçmişini görmek için kullanılır. Bu yazımızda, git log komutunun ne işe yaradığını, nasıl kullanıldığını ve en faydalı seçeneklerini detaylı bir şekilde ele alacağız.

Git Log Komutunun Temel Amacı

git log komutu, Git deposundaki commit geçmişini görüntülememizi sağlar. Bu komut sayesinde, projedeki tüm değişiklikleri, kimlerin ne zaman ve hangi mesajla gerçekleştirdiğini görebilirsiniz. Bu, özellikle büyük projelerde, değişikliklerin izlenmesi ve hataların giderilmesi için çok önemlidir. git log komutunu çalıştırdığınızda, genellikle aşağıdaki bilgiler ekrana gelir:

  • Commit ID: Her commit’in benzersiz kimliği (hash değeri).
  • Yazar: Commit’i yapan kişi.
  • Tarif: Commit mesajı, yapılan değişikliği tanımlar.
  • Zaman: Commit’in yapıldığı tarih ve saat.

Bu bilgiler, proje geçmişini incelemek için oldukça faydalıdır ve yazılım geliştirme süreçlerinin etkin bir şekilde yönetilmesine yardımcı olur.

Git Log Komutunun Kullanımı

git log komutunun en temel kullanımı oldukça basittir. Bir Git deposunda, terminal veya komut satırına şu komutu yazabilirsiniz:

git log

Bu komut, depodaki commit geçmişini sıralı bir şekilde görüntüler. Ancak, git log komutunun sunduğu seçenekler sayesinde çok daha detaylı sonuçlar alabilirsiniz. Aşağıda, en yaygın kullanılan git log seçeneklerine ve bunların nasıl kullanılacağına dair örnekler bulabilirsiniz.

Git Log Komutunun Faydalı Seçenekleri

1. Commit Geçmişini Kısaltmak

Git log komutunu her çalıştırdığınızda, commit geçmişi oldukça uzun olabilir. Bu durumu engellemek ve daha kısa bir özet almak için --oneline seçeneğini kullanabilirsiniz. Bu seçenek, her commit için yalnızca kısa bir hash değeri ve commit mesajını gösterir.

git log --oneline

Örnek çıktı şu şekilde olacaktır:

f7c3f6e update README file
a3c6d9b fix bug in authentication
d4e2f5a add new feature for user registration

2. Tarihe Göre Filtreleme

Commit’leri tarihe göre filtrelemek de oldukça faydalıdır. Özellikle, belirli bir tarihten sonraki veya önceki commit’leri görmek için --since ve --until seçeneklerini kullanabilirsiniz. Örneğin, son bir hafta içindeki commit’leri görmek için şu komutu kullanabilirsiniz:

git log --since="1 week ago"

Veya belirli bir tarihten önce yapılmış commit’leri görmek için:

git log --until="2024-12-01"

3. Yazar Bilgisine Göre Filtreleme

Bir commit’i yapan kişiye göre arama yapmak için --author seçeneği kullanılabilir. Örneğin, belirli bir yazar tarafından yapılan commit’leri listelemek için şu komutu yazabilirsiniz:

git log --author="Ahmet Yılmaz"

4. Commit Mesajına Göre Arama

Commit mesajlarında belirli bir kelime veya ifade aramak için --grep seçeneğini kullanabilirsiniz. Bu, commit mesajlarında belirli bir konuyu takip etmenize olanak tanır. Örneğin, “bug fix” içeren commit’leri görmek için:

git log --grep="bug fix"

5. Dosya Değişikliklerine Göre Commit Arama

Belirli bir dosyada yapılmış değişikliklere göre commit geçmişini görmek için git log komutuna dosya adını ekleyebilirsiniz. Örneğin, bir dosyada yapılan değişiklikleri görmek için:

git log path/to/file

6. Commit’leri Görselleştirme

Commit geçmişini daha görsel bir şekilde görüntülemek için --graph seçeneğini kullanabilirsiniz. Bu seçenek, commit’lerin bir ağ yapısı gibi görsel bir temsilini sunar. Örneğin:

git log --graph --oneline --decorate

Bu komut, commit geçmişini bir grafik şeklinde gösterecek ve hangi commit’lerin hangi dallarda olduğunu daha kolay bir şekilde anlamanızı sağlayacaktır.

Git Log Komutunun İleri Seviye Kullanımı

Git log komutunun daha ileri seviyede kullanımı için birden fazla seçeneği bir arada kullanabilirsiniz. Aşağıda, gelişmiş kullanım için bazı örnekler verilmiştir:

1. Belirli Bir Zaman Aralığında Commit Aramak

Git log komutuyla, birden fazla seçenek kullanarak belirli bir zaman aralığında yapılan commit’leri listeleyebilirsiniz. Örneğin, 1 Ocak 2024 ile 15 Ocak 2024 arasındaki commit’leri görmek için:

git log --since="2024-01-01" --until="2024-01-15"

2. Belirli Bir Commit’e Ait Değişiklikleri Görüntülemek

Belirli bir commit’e ait dosya değişikliklerini görmek için git show komutunu kullanabilirsiniz. Bu komut, belirli bir commit’in detaylarını, yapılan değişiklikleri ve diff’leri gösterir.

git show 

Sonuç

Git log komutu, yazılım geliştirme sürecinde geçmişi incelemek, değişiklikleri takip etmek ve hata ayıklama işlemlerini kolaylaştırmak için son derece faydalıdır. Git log komutunun sunduğu birçok seçenek, commit geçmişinizi daha verimli bir şekilde incelemenize olanak tanır. Bu yazıda, git log komutunun temel kullanımını, yaygın seçeneklerini ve bazı ileri seviye kullanım örneklerini ele aldık. Git log komutunu etkin bir şekilde kullanarak projelerinizi daha verimli yönetebilirsiniz.

Git Log İle İlgili Sık Sorulan Sorular (SSS)

Git log komutunu nasıl filtreleyebilirim?

Git log komutunu --author, --since, --until, ve --grep gibi seçeneklerle filtreleyebilirsiniz. Bu sayede belirli tarihlerde, yazarlar veya commit mesajlarıyla ilgili aramalar yapabilirsiniz.

Git log komutunun çıktısını nasıl dışa aktarabilirim?

Git log komutunun çıktısını bir dosyaya aktarmak için, çıktı yönlendirme kullanabilirsiniz. Örneğin:

git log > log.txt

Bu, log verisini log.txt dosyasına kaydeder.

Git log komutunun görsel çıktısı nasıl alınır?

Git log komutunun görsel bir çıktısını almak için --graph seçeneğini kullanabilirsiniz. Bu seçenek, commit’lerin bir grafik şeklinde sunulmasını sağlar.