Bir yerden sonra sürüm geçmişiniz oldukça uzun hale gelecek ve yaptığınız değişiklikleri liste halinde görmek isteyeceksiniz. Bu durumda git log
komutu sahneye geliyor.
git log
komutunun bir çok parametresi mevcut. Önce en basit haliyle çalıştıralım: (bu değişikliği yapmadan önce bir kaç güncelleme daha ekledim)
korayal@koray-mintlinux ~/merhaba-arda $ touch iluvatar.log
korayal@koray-mintlinux ~/merhaba-arda $ vim iluvatar.log
korayal@koray-mintlinux ~/merhaba-arda $ git add .
korayal@koray-mintlinux ~/merhaba-arda $ git commit -m "iluvatar.log eklendi"
[master 8818b7b] iluvatar.log eklendi
1 file changed, 1 insertion(+)
create mode 100644 iluvatar.log
korayal@koray-mintlinux ~/merhaba-arda $ git log
commit 8818b7be594c7b9de86db47b4b0f9747cf9b4543
Author: Koray Al
Date: Mon Mar 25 10:14:28 2013 +0200
iluvatar.log eklendi
commit 456b3806b2201f4277c6e59ab0c5f93f92c6de76
Author: Koray Al
Date: Fri Mar 22 11:35:46 2013 +0200
Eru yaratıldı.
Burada özetle:
- bir adet iluvatar.log
dosyası oluşturdum.
- İçeriğini düzenledim.
- Klasördeki tüm dosyaları, bir sonraki commit'te eklenmek üzere Stage adlı tampon bölgeye ekledim. (git add .
)
- Bir mesaj ile birlikte commit ettim. (git commit -m
)
- Commit geçmişimi listeledim. (git log
)
Görüldüğü üzere, kayıtlarda her değişikliğin "hangi SHA1 etiketiyle", "kim tarafından", "ne zaman", "hangi açıklamayla" saklandığını görebiliyoruz.
Bu listeleme için farklı yöntemler de mevcut:
- Kayıtlar değişiklikleri de içersin: (
git log -p
) [sonunda "-x" belirterek 'son x değişikliği' de görüntüleyebilirsiniz. (git log -p -x
)]
korayal@koray-mintlinux ~/merhaba-arda $ git log -p -2
commit 8818b7be594c7b9de86db47b4b0f9747cf9b4543
Author: Koray Al
Date: Mon Mar 25 10:14:28 2013 +0200
iluvatar.log eklendi
diff --git a/iluvatar.log b/iluvatar.log
new file mode 100644
index 0000000..1c79cb8
--- /dev/null
+++ b/iluvatar.log
@@ -0,0 +1 @@
+merhaba eru!
commit 456b3806b2201f4277c6e59ab0c5f93f92c6de76
Author: Koray Al
Date: Fri Mar 22 11:35:46 2013 +0200
Eru yaratıldı.
diff --git a/eru.txt b/eru.txt
new file mode 100644
index 0000000..5de3a5d
--- /dev/null
+++ b/eru.txt
@@ -0,0 +1,2 @@
+Ainur sana selam eder
+elfler varken daha insanlar yok idi
- İstatistiksel listeleme.
git log --stat
ile sadece kaç dosyda kaç değişiklik yapıldı listeyebilirsiniz:
korayal@koray-mintlinux ~/merhaba-arda $ git log --stat
commit 8818b7be594c7b9de86db47b4b0f9747cf9b4543
Author: Koray Al
Date: Mon Mar 25 10:14:28 2013 +0200
iluvatar.log eklendi
iluvatar.log | 1 +
1 file changed, 1 insertion(+)
commit 456b3806b2201f4277c6e59ab0c5f93f92c6de76
Author: Koray Al
Date: Fri Mar 22 11:35:46 2013 +0200
Eru yaratıldı.
eru.txt | 2 ++
1 file changed, 2 insertions(+)
--pretty
parametresi ile daha güzel listelemeler yapabilirsiniz.
--pretty
parametresiyle şu tip listelelemeler yapabilirsiniz:
Tek satır: git log --pretty=oneline
korayal@koray-mintlinux ~/merhaba-arda $ git log --pretty=oneline
8818b7be594c7b9de86db47b4b0f9747cf9b4543 iluvatar.log eklendi
456b3806b2201f4277c6e59ab0c5f93f92c6de76 Eru yaratıldı.
Özel format: git log --pretty=format:"%h - %an, %ar : %s"
format olarak seçebileceğiniz parametreler:
%H Commit SHA1 hash etiketi
%h Hash özeti
%T Ağaç hashi
%t Ağaç hash özeti
%P Önceki commit hashi
%p Önceki commitlerin hash özeti
%an Yazar adı
%ae Yazar e-posta adresi
%ad Yazar tarihi (--date= parametresinin yapısını kullanır)
%ar Yazar tarihi (bağıl)
%cn Değişiklik yapanın adı
%ce Değişiklik yapanın e-posta adresi
%cd Değişiklik tarihi
%cr Bağıl değişiklik tarihi
%s Konu
korayal@koray-mintlinux ~/merhaba-arda $ git log --pretty=format:"%h - %an, %ar : %s"
8818b7b - Koray Al, 17 minutes ago : iluvatar.log eklendi
456b380 - Koray Al, 3 days ago : Eru yaratıldı.