Git’in diff
komutu, projenizdeki değişiklikleri anlamak için paha biçilmezdir. Dosyalarınızın farklı sürümlerini karşılaştırmanıza, değişiklikleri belirlemenize ve değişiklikleri commit etmeden önce gözden geçirmenize olanak tanır. Bu öğretici, git diff
‘in temel kullanımlarını, açıklık ve pratik uygulamaya odaklanarak ele alacaktır.
İçerik Tablosu
- Çalışma Kopyanızı Depoyla Karşılaştırma
- Hazırlama Alanını Depoyla Karşılaştırma
- Harici Diff Araçlarının Kullanımı
- Gelişmiş
git diff
Seçenekleri
Çalışma Kopyanızı Depoyla Karşılaştırma
Çalışma kopyanız, yerel makinenizdeki proje dosyalarını temsil eder. Depo, Git tarafından yönetilen sürüm geçmişini depolar. git diff
(argüman olmadan) çalışma kopyanızdaki sahneye alınmamış değişiklikleri gösterir:
git diff
Çıktı, eklemeleri (+
), silmeleri (-
) ve değişiklikleri gösterir. Örneğin:
--- a/my_file.txt
+++ b/my_file.txt
@@ -1,3 +1,4 @@
This is line 1
This is line 2
+This is a new line
This is line 3
Bu, my_file.txt
dosyasına yeni bir satır eklendiğini gösterir. --- a/
ve +++ b/
eski ve yeni dosya sürümlerini temsil eder. Belirli bir dosyayı karşılaştırmak için:
git diff my_file.txt
Hazırlama Alanını Depoyla Karşılaştırma
Hazırlama alanı, bir sonraki commit için hazırladığınız değişiklikleri tutar. git diff --staged
(veya git diff --cached
) sahneye alınmış değişiklikler ile son commit arasındaki farkı gösterir:
git diff --staged
Bu, commit etmeden önce değişiklikleri gözden geçirmek için çok önemlidir. Karşılaştırmayı sınırlamak için dosya adlarını belirleyebilirsiniz.
Harici Diff Araçlarının Kullanımı
Git’in varsayılan metin tabanlı diff’i, karmaşık değişiklikler için zorlayıcı olabilir. Harici diff araçları, görsel karşılaştırmalar, sözdizimi vurgulama ve diğer yararlı özellikler sunar. git config
kullanarak harici bir araç (Meld, KDiff3, Beyond Compare gibi) yapılandırın:
git config --global diff.external meld
meld
‘i aracınızın komutu ile değiştirin. Doğru komut ve gerekli sistem özel ayarları için aracınızın belgelerine bakın.
Gelişmiş git diff
Seçenekleri
git diff
daha birçok seçenek sunar. Örneğin:
git diff --check
: Boşluk hatalarını algılar.git diff --summary
: Değişikliklerin özlü bir özetini sağlar.git diff <commit1>..<commit2>
: İki commit’i karşılaştırır.git diff --word-diff
: Değişiklikleri kelime kelime vurgular.
git diff
‘i iş akışınıza göre ayarlamak için bu seçeneklerle deney yapın. git diff
‘i öğrenmek, verimli Git kullanımı için çok önemlidir.