2015-05-04 24 views
5
kullanarak nasıl karşılaştırılır

Bir an için LICENSE.txt adlı depoda bir dosyam var.Çalışma kopyası, kopya kopyalama ve bir dosyanın kopyalanmış kopyasını git

Copyright 2014 MyCompany. All Rights Reserved. 

ben sene değişti onun 2015 beri onun 2015 yüzden aşağıdaki gibidir: içindekiler görünüyor

Copyright 2015 MyCompany. All Rights Reserved. 

Ve sonra dosyayı

git add LICENSE.txt 

sahnelenen biraz deli olmak, yaptığım Başka bir kuruluşun telif hakkıyla paylaştığını yansıtmak için LICENSE.txt dosyasına başka bir değişiklik.

Copyright 2015 MyCompany and Affiliates. All Rights Reserved. 
Copyright 2015 Other Company. All Rights Reserved. 

benim çalışma kopyası arasındaki farkı görmek mümkün değilim ve

git diff 

çalıştırarak kopyasını sahnelenen Ve

çalıştırarak sahnelenen kopyalama ve kararlı kopyası arasındaki farkı görmek mümkün değilim
git diff --cached 

Kopyalanan kopyayı (yıl değişiminde olmayan) çalışma kopyasıyla (ek telif hakkıyla birlikte) nasıl karşılaştırırım?

Bu sadece bir örnektir. Daha sonra, daha sonra dosyaya yaptığım değişikliklerle sahnelediğimi karşılaştırma ihtiyacım olan çok daha karmaşık durumlar var. Çalışan kopyanın ve aşamalı kopyanın içeriğinin karşılaştırılması, aşamalı kopyanın değiştirilip değiştirilmeyeceğimi belirler.

Windows Server 2012 R2'de git 1.9.5 çalıştırıyorum.

+0

'git diff', iddia ettiğiniz şeyi yapmaz, kabul edilen cevaba bakın. Gönderinizi, gelecekteki okuyucuların yanlış yönlendirilmemesi için düzenleyebilir misiniz? –

+0

Değişikliği yaptım.Bu karışıklık, hiçbir aşamada değişiklik yapmadığınız halde çalışma kopyanızda bir değişiklik yaptığınız zaman, 'git diff' 'in çalışma kopyası ile kopyalanan kopya arasındaki farkı göstermesinden kaynaklanır. – bloudraak

+0

Herhangi bir değişiklik yapmadığınızda, 'git diff ', aşamalı değişiklikler yaptığınız zamankiyle aynı davranır. Fakat her iki diffs eşittir. –

cevap

14

nasıl kopya çalışma ile sahnelenen kopyasını (yıl değişiklikle bir) benzerlikler nelerdir.
[...] Ben sonradan yine git diff olacağını dosyası

yapılan değişikliklerle sahnelenen ne karşılaştırmak gereğini vardı.

(OP tarafından düzenleme:. Ben kopyaya Sonra

çalışma ile işlenen kopyasını (yıl değişiklikle bir) benzerlikler nelerdir nasıl git diff HEAD olurdu)

http://images.abizern.org.s3.amazonaws.com/365git/Feb11/Git%20Diff%202.png

(365git: Getting a diff between the working tree and other commits)

'den farklı bir şey arıyorsanız 10 ve diff --cached, bu konuda size bırakır:

git diff HEAD 

olduğu sonucunu verir: Zaten kaydedilmiş sürümü ve çalışma ağacın arasındaki fark.

+0

Aradığım tüm senaryoları çok net bir örnekle kapattın. Zaman ayırdığınız için teşekkürler. – bloudraak

+0

Herhangi bir değişiklik yapmamışsanız, 'git diff', taahhüt edilen kopya ile çalışma kopyası arasındaki farkı gösterecektir. – bloudraak

+0

@bloudraak true: HEAD ve dizin ilk 'git add''ten önce aynı olurdu. – VonC

İlgili konular