Git Diff
Son güncelleme
git diff, deponuzun iki durumu arasındaki tam satır satır değişiklikleri gösterir. Argümansız olarak değiştirdiğiniz ancak henüz hazırlamadığınız şeyleri gösterir. Hazırlananları görmek için --staged ekleyin, karşılaştırmak için iki commit veya dal adı verin ya da daraltmak için bir dosya adı verin.
Bunları terminal playground'da deneyin - tarayıcınızda gerçek bir shell, kurulacak hiçbir şey yok.
Söz dizimi
| Command | What it does |
|---|---|
git diff | Hazırlanmamış değişiklikler ile dizin karşılaştırması |
git diff --staged | Hazırlanmış değişiklikler ile son commit karşılaştırması |
git diff HEAD | Son commit'ten bu yana tüm değişiklikler |
git diff main feature | İki dal arasındaki fark |
git diff <hash1> <hash2> | İki commit arasındaki fark |
git diff -- file.txt | Tek bir dosyadaki değişiklikler |
Yaygın durumlar
| Goal | Command |
|---|---|
| Commit etmek üzere olduğunuz şeyi görün | git diff --staged |
| Commit edilmemiş çalışmayı görün | git diff |
| Dalınızı main ile karşılaştırın | git diff main |
| Sadece değişen dosya adları | git diff --name-only |
Git diff SSS
git diff varsayılan olarak ne gösterir?
Argümansız olarak
git diff, çalışma ağacınızda henüz hazırlanmamış değişiklikleri gösterir - son git add'den bu yana düzenlediğiniz şeyleri. Zaten hazırladığınızı (ve bir sonraki commit'e gireceğini) görmek için git diff --staged kullanın; son commit'ten bu yana her şeyi görmek için git diff HEAD kullanın.git diff ile git diff --staged arasındaki fark nedir?
git diff, çalışma ağacınızı hazırlama alanıyla karşılaştırır (hazırlanmamış değişiklikler). git diff --staged (ayrıca --cached), hazırlama alanını son commit ile karşılaştırır (hazırlanmış değişiklikler). Birlikte, commit edilmemiş çalışmanızın iki yarısını gösterirler.İki dal veya commit arasında nasıl diff alırım?
Adlarını verin:
git diff main feature iki dal arasında neyin farklı olduğunu gösterir ve git diff <hash1> <hash2> iki commit'i karşılaştırır. Karşılaştırmayı tek bir dosyayla sınırlamak için sonuna -- <file> ekleyin.Tam diff yerine yalnızca hangi dosyaların değiştiğini nasıl görürüm?
Yalnızca dosya adları için
git diff --name-only, her dosyayı ve kaç satırın değiştiğini gösteren bir özet için git diff --stat kullanın. Bunlar, satır satır tam diff'i okumadan önce hızlı bir genel bakış için kullanışlıdır.Bunu çevrimiçi olarak pratik edebilir miyim?
Evet. Tarayıcınızda gerçek bir shell'de
git diff çalıştırmak için terminal playground'u açın - kurulacak hiçbir şey yok. Coddy'nin ücretsiz etkileşimli Git kursu da değişiklikleri incelemeyi adım adım ele alır.