git - kaydetmeden önce mevcut değişikliklerin diff


106

Bir git deposundaki birkaç dosyayı değiştirdim, ancak bunları henüz kaydetmedim.

Sadece çağırarak değişikliklerin bir listesini alabilirim git status. Ancak dosya adlarına ek olarak değiştirdiğim satırların veya içeriğin bir listesini nasıl alabilirim ?

Başlangıçta git diff'i kullanmayı düşündüm , ancak bu sadece halihazırda gerçekleştirilmiş değişiklikleri karşılaştırmak için faydalı görünüyor.

Genellikle öyle yaparım meld ., ancak bu durumda ssh aracılığıyla harici bir sunucuya bağlıyım.

Yanıtlar:


153

git diffvarsayılan olarak, çalışma dizininiz ve dizin ( sonraki işlem için hazırlık alanı) arasındaki farkı gösterir .

Zaten eklediyseniz ( sahnelenen değişiklikleri) aşama alanından , git diff --stagediş yapar. Aşama alanı , bir sonraki kesinleştirme işleminin oluşturulacağı verilerdir git commit.

Git'e yeni başlayanlar için PS İyi okuma (IMO):


Hazırlananlar yalnızca henüz eklenmemiş dosyalar için geçerli değil mi? Önbelleğe alınmış bayrağı kullanmanız gerektiğini düşündüm.
pbond

4
@peterbond man git-diffdiyor ki--staged is a synonym of --cached
Mischa Arefiev

2
@peterbond Teknik olarak aşamalı , henüz bir commit olmayan hazırlama alanına eklenen araçlar . Bunu düzenlemede açıkladım.
Mischa Arefiev

1
@Mischa belgeler için varsayılan davranış olduğunu söylüyor git diffçalışma dizin ve arasındaki farkı hesaplamak için endeks , değilHEAD
Axel

Git diff'i parametresiz olarak çağırmak aklıma gelmedi. Teşekkürler!
kikito

10

Bu tür durumlarda kullandığım şey:

git diff HEAD *

Bu, son işlemden sonraki değişiklikleri gösterecektir. Bir şekilde daha hızlı çalışmasına rağmen

git diff .

veya

git diff

Önceden git adddüzenlenmiş dosyalardaki değişiklikleri görmek için şu stagedbayrağı kullanın :

git diff --staged
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.