Git ile değişiklik geçmişini inceleme

0 Yanıt 3 Görüntülenme
Puanlayanlar
Katılımcılar
Konuyu Açan #1
Git ile değişiklik geçmişini inceleme

Giriş ve bağlam
Bir yazılım projesinin gelişimini anlamak için değişiklik geçmişini doğru okumak kritik. Git, her commit ile bir anı saklar; bu anılar, hangi dosyanın ne zaman nasıl değiştiğini, kim tarafından yapıldığını ve hangi amaçla yapıldığını gösterir. Başlangıç olarak dört temel kavramı özümsemek işe yarar: commit, birleştirme (merge), dallanma (branch) ve referanslar (SHA-1 hash’leriyle işaretlenen commit kimlikleri). Bu yapı, geçmişi geriye dönük olarak adımlayabilmeyi mümkün kılar.

Göz atılacak ilk noktalar
  • git log: Geçmişi görülebilir kılar. Varsayılan çıktı kısa özetler, her commit için tarih, yazar ve mesaj içerir. --oneline ile tek satır halinde de okunabilir. --graph ile dallanma yapısını görselleştirmek mümkün.
  • git show : Belirli bir commitin değişikliklerini, hangi satırların eklendiğini veya kaldırıldığını, hangi dosyaların etkilendiğini gösterir. Dosya içeriği ve diff’i bu komut üzerinden incelenir.
  • git diff: Çalışma dizini ile son commit arasındaki farkları gösterir. --staged ile indeks ile en son commit arasını karşılaştırır.
  • git blame : Belirli bir dosyada her satırın hangi commit tarafından eklendiğini ve kimin tarafından değiştirildiğini gösterir. Sorun kaynağını hızlı tespit etmek için kullanışlı.
  • git log --stat ve --patch: Değişiklikleri istatistiklerle birlikte görmek veya patch şeklinde diffs’i incelemek için kullanılır.
  • git reflog: Dalga geçmişinizi, HEAD’in hangi noktaların referans aldığını görmek için kullanılır; en son silinmiş veya geçici referansları geri getirmek mümkün olabilir.
  • İyi bir inceleme için mesajlar: Commit mesajlarının anlamlı ve bağımsız bir değişikliği özetlemesi, proje yönetimi açısından gelecekteki analizleri kolaylaştırır.


Pratik bir çalışma akışı
1) Kısa bir özet için: git log --oneline --decorate --graph --all
2) Belirli bir özelliğin değişimini incelemek: önce ilgili branch’e geç, sonra git log --oneline -p -- ile dosya bazında değişiklikleri adım adım görmek
3) Sorunlu bir satırın kaynağını bulmak: git blame -L , ve ardından git show ile detayları kontrol etmek
4) Değişiklikleri karşılaştırma: iki commit arasındaki farkları görmek için git diff kullanmak
5) Geri dönüş ve güvenlik: unutulan bir değişiklik veya hatalı bir commit için git revert ile geri alma yoluna gitmek veya git reset ile çalışma alanını yeniden düzenlemek

İpuçları ve iyileştirme önerileri
  • Büyük projelerde —graph ve --stat kullanımı, kapsamlı dal geçmişini hızlıca anlamayı sağlar.
  • Dosya başına inceleme yaparken git log -- ile gereksiz bilgilerden arınabilir.
  • Konvansiyonel commit mesajları (feat, fix, docs, chore gibi) gelecekte aramayı kolaylaştırır.
  • Kod incelemesi sırasında değişiklikleri sadece işlevsel olarak değil, tasarım ve etkilediği modüller açısından da değerlendir.


Sonuç ve kapanış
Değişiklik geçmişini doğru okumak, hataların kaynağını zamanında tespit etmek ve sürüm geçmişini güvenli bir şekilde yönetmek için temel beceridir. İstersen birlikte belirli bir projede hangi komutların en kullanışlı olduğunu adım adım uygulamalı olarak inceleyelim.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi