Dosya geçmişi
- Git kursu
- Başlangıç
- Ders 46/80
- 4 dk
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.txtDosya 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.txtBö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
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
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.jsonBeklenen çı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
git log ____ -- eski_dosya.txt
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 |