Git kullanarak depoda olmayan iki dosya nasıl karşılaştırılır


Yanıtlar:


214

gitdiff, standart unix'ten daha işlevseldir diff. Sık sık bunu yapmak istiyorum ve bu soru google'da üst sıralarda yer aldığı için bu cevabın görünmesini istiyorum.

Bu soru: Git deposu dışında nasıl kullanılır git diff --color-words?

Aşağıdakileri kullanarak en az birinin depoda olmadığı durumlarda git'in diff dosyalarında nasıl kullanılacağını gösterir --no-index:

git diff --no-index file1.txt file2.txt

Hangisinin git tarafından izlendiği ve hangisinin olmadığı önemli değildir - biri veya her ikisi de izlenemeyebilir, örneğin:

$ date > x
$ sleep 2
$ date > y
$ git diff --color-words --no-index x y
diff --git a/x b/y
index 6b10c7c..70f036c 100644
--- a/x
+++ a/y
@@ -1 + 1 @@
Wed Jun 10 10:57:45|10:57:47 EDT 2013

Renk burada gösterilemiyor, bu yüzden değişiklikleri örnekte bir boru ile ayırdım.


14
Bu davranış varsayılan istiyorsa, size için bir takma ad ekleyebilirsiniz .bashrcdosyası (veya kullanmak ne olursa olsun):alias diff="git diff --no-index"
counterbeing

1
Bilginize: Windows için Git'te "--no-index" e saygı gösterilmeyen bir hata (# 2123) vardı. Bu sorun, Windows için Git v2.21.0'da (26 Şubat 2019) düzeltildi.
StackzOfZtuff

Satır "indeks 6b10c7c..70f036c 100644" ne anlama geliyor? 2
ikiliyi

merhaba @LukasSalich, bu satır formatı git tarafından belgelenmiş gibi görünüyor (örneğin: git-scm.com/docs/diff-format ) git'in diff'i ikili dosyaları farklılaştırmaya çalışmıyor, bu yüzden bu satırın farklı oldukları anlamına geldiğini tahmin ediyorum , bir değişikliğin tanımlandığı iki SHA ve ardından dosyanın izinleri.
Kyle Burton

3

diff -u

git'in diff'e benzer birleşik bağlam çıktısı verecektir.


1
Bununla birlikte, güzel bir renklendirme yapmaz veya bir çağrı cihazı kullanmaz.
Xiong Chiamiov

Hoş bir kelime farkına da izin vermez ( git diff --word-diff).
Stefan van den Akker

0

Sadece diff komutunu kullanın:

diff file1.ext file2.ext

2
Hmkay, bunu denedim ama bence çıkış Belki ... yanılmışım ... sadece saçma oldu
Cedric Reichenbach

gvimdiff, kompare veya benzeri gibi daha iyi görünüm sağlayacak bazı GUI araçlarını çalıştırabilirsiniz
Eugene Sajine
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.