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.