CodeBlanks Logo Icon CodeBlanks

Dosya geçmişi

Belirli bir dosyanın geçmişini listelemeyi öğrenirsin.

Belirli bir dosyanın geçmişi

git log komutu normalde depodaki tüm commit geçmişini listeler. Yalnızca belirli bir dosyayı ilgilendiren commit'leri görmek için komutun sonuna dosya yolunu eklersin. Bu filtreleme, dosya üzerinde kimlerin ne zaman değişiklik yaptığını hızla bulmanı sağlar.

git log dosya.txt
git log --oneline -- dosya.txt

Dosya yolundan önce çift tire (--) koymak, dosya adının bir dal adı ile karışmasını önler.

Yeniden adlandırılan dosyalar ve --follow

Bir dosyanın adı değiştiğinde standart git log araması isim değişikliğinden önceki geçmişi kaybedebilir. --follow bayrağı Git'in dosya isim değişikliklerini takip ederek geçmişi eksiksiz sunmasını sağlar. Değişiklik satırlarını görmek için -p seçeneği de eklenebilir.

git log --follow yeni_ad.txt
git log -p --follow yeni_ad.txt

Böylece bir dosya birden fazla kez taşınsa ya da adı değişse bile tüm yolculuğunu inceleyebilirsin.

Uygulama Dosyaya ait commit geçmişini listele

ayar.json dosyasını değiştiren commit'lerin mesaj başlıklarını git log --format="%s" -- ayar.json komutuyla listele.

Başlangıç kodu

terminal
git init -q
git config user.name "Zeynep"
git config user.email "zeynep@example.com"
echo "v1" > ayar.json
git add ayar.json
git commit -qm "Ayar dosyasi olusturuldu"
echo "v2" > ayar.json
git commit -am -q "Ayar dosyasi guncellendi"
echo "readme" > README.md
git add README.md
git commit -qm "Benioku eklendi"

# ayar.json gecmisi icin komutu buraya yaz

Örnek çözüm

terminal
git init -q
git config user.name "Zeynep"
git config user.email "zeynep@example.com"
echo "v1" > ayar.json
git add ayar.json
git commit -qm "Ayar dosyasi olusturuldu"
echo "v2" > ayar.json
git commit -am -q "Ayar dosyasi guncellendi"
echo "readme" > README.md
git add README.md
git commit -qm "Benioku eklendi"

git log --format="%s" -- ayar.json

Beklenen çıktı

Ayar dosyasi guncellendi
Ayar dosyasi olusturuldu

Soru ve cevaplar

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

1 Belirli bir dosyanın tek satırlık commit geçmişini görmek için hangi komut kullanılır?

  • git status --oneline rapor.txt
  • git diff --oneline rapor.txt
  • git log --oneline -- rapor.txt Doğru cevap
  • git show --all rapor.txt

Açıklama: git log komutuna --oneline ve dosya yolu verildiğinde yalnızca o dosyayı etkileyen commit'ler tek satırda listelenir.

2 İsim değişikliklerini takip et

Soru
git log ____ -- eski_dosya.txt
Cevap
git log --follow -- eski_dosya.txt

Açıklama: --follow bayrağı, dosya yeniden adlandırılmış olsa bile önceki geçmişini izlemeye devam eder.

3 Dosya geçmişi seçenekleri

Kavram Anlamı
git log <dosya> Dosyayı değiştiren commit'ler
git log --follow İsim değişikliklerini izler
git log -p Commit farklarını da listeler
git log --oneline Geçmişi tek satırda özetler

Başlangıç bölümündeki tüm dersler