İngilizceFransızcaİspanyolca

Ad


OnWorks favicon'u

git-diff-files - Bulutta Çevrimiçi

Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü üzerinden OnWorks ücretsiz barındırma sağlayıcısında git-diff dosyalarını çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen git-diff dosyaları komutudur.

Program:

ADI


git-diff-files - Çalışan ağaçtaki ve dizindeki dosyaları karşılaştırır

SİNOPSİS


git diff dosyaları [-q] [-0|-1|-2|-3|-c|--cc] [ ] [ ...]

TANIM


Çalışan ağaçtaki ve dizindeki dosyaları karşılaştırır. Yollar belirtildiğinde, karşılaştırır
yalnızca adlandırılmış yollar. Aksi takdirde dizindeki tüm girişler karşılaştırılır. çıktı formatı
ile aynı git fark indeksi ve git fark ağacı.

SEÇENEKLER


-p, -u, --yama
Yama oluştur (yama oluşturma bölümüne bakın).

-s, --yama yok
Fark çıktısını bastır. Yamayı gösteren git show gibi komutlar için kullanışlıdır.
varsayılan olarak veya --patch'in etkisini iptal etmek için.

-U , --birleşik=
ile farklar oluştur her zamanki üç yerine bağlam satırları. -p anlamına gelir.

--çiğ
Farkı ham biçimde oluşturun. Bu varsayılandır.

--raw ile yama
-p --raw için eşanlamlı.

--en az
Mümkün olan en küçük farkın üretildiğinden emin olmak için fazladan zaman harcayın.

--sabır
"Sabır farkı" algoritmasını kullanarak bir fark oluşturun.

--histogram
"Histogram diff" algoritmasını kullanarak bir fark oluşturun.

--diff-algoritma={sabır|minimal|histogram|myers}
Bir fark algoritması seçin. Varyantlar aşağıdaki gibidir:

varsayılan, myers
Temel açgözlü fark algoritması. Şu anda, bu varsayılandır.

en az
Mümkün olan en küçük farkın üretildiğinden emin olmak için fazladan zaman harcayın.

sabır
Yamaları oluştururken "sabır farkı" algoritmasını kullanın.

Histogram
Bu algoritma, sabır algoritmasını "düşük oluşumlu yaygın
elementler".

Örneğin, diff.algorithm değişkenini varsayılan olmayan bir değere yapılandırdıysanız ve
varsayılanı kullanmak istiyorsanız, --diff-algorithm=default seçeneğini kullanmanız gerekir.

--stat[= [, [, ]]]
Bir diffstat oluşturun. Varsayılan olarak, gerekli olduğu kadar çok alan kullanılacaktır.
dosya adı bölümü ve geri kalanı grafik bölümü için. Terminal için maksimum genişlik varsayılanları
genişlik veya bir terminale bağlı değilse 80 sütun ve geçersiz kılınabilir .
Dosya adı bölümünün genişliği, başka bir genişlik verilerek sınırlandırılabilir.
virgülden sonra. Grafik parçasının genişliği kullanılarak sınırlandırılabilir.
--stat-graph-width= (bir istatistik grafiği oluşturan tüm komutları etkiler) veya
diff.statGraphWidth ayarı= (git biçim yamasını etkilemez). vererek
üçüncü parametre , çıktıyı ilkiyle sınırlayabilirsiniz çizgiler, takip edildi
tarafından ... daha fazla varsa.

Bu parametreler ayrıca --stat-width= ile ayrı ayrı ayarlanabilir. ,
--stat-name-width= ve --stat-count= .

--numstat
--stat'a benzer, ancak eklenen ve silinen satırların sayısını ondalık gösterimde gösterir ve
daha makine dostu hale getirmek için kısaltma olmadan yol adı. İkili dosyalar için,
0 0 demek yerine iki çıktı verir.

--kısa durum
Toplam değiştirilme sayısını içeren --stat biçiminin yalnızca son satırını çıktılayın
dosyaların yanı sıra eklenen ve silinen satırların sayısı.

--dirstat[= ]
Her alt dizin için göreli değişiklik miktarının dağılımını çıkarın. NS
--dirstat davranışı, virgülle ayrılmış bir liste geçirilerek özelleştirilebilir.
parametreler. Varsayılanlar, diff.dirstat yapılandırma değişkeni tarafından kontrol edilir
(görmek git-config(1)). Aşağıdaki parametreler mevcuttur:

değişiklikler
Kaldırılan satırları sayarak dirstat sayılarını hesaplayın.
kaynak veya hedefe eklendi. Bu, saf kod miktarını yok sayar
Bir dosya içindeki hareketler. Başka bir deyişle, bir dosyadaki satırları yeniden düzenlemek,
diğer değişiklikler kadar sayılır. Bu, parametre olmadığında varsayılan davranıştır.
verilmiş.

hatları
Normal satır tabanlı fark analizi yaparak dirstat sayılarını hesaplayın ve
kaldırılan/eklenen satır sayılarının toplanması. (İkili dosyalar için 64 baytlık parçaları sayın
bunun yerine, ikili dosyaların doğal bir çizgi kavramı olmadığından). Bu daha fazla
pahalı --dirstat davranışı, değişiklik davranışından daha fazladır, ancak sayılır
diğer değişiklikler kadar bir dosya içinde yeniden düzenlenmiş satırlar. Ortaya çıkan çıktı
diğer --*stat seçeneklerinden elde ettiğinizle tutarlı.

Dosyaları
Değiştirilen dosya sayısını sayarak dirstat sayılarını hesaplayın. Her biri değişti
dosya, dirstat analizinde eşit olarak sayılır. Bu hesaplama açısından en ucuzu
--dirstat davranışı, çünkü dosya içeriğine hiç bakmak zorunda değildir.

birikimli
Bir alt dizindeki değişiklikleri üst dizin için de sayın. Bunu not et
kümülatif kullanıldığında, rapor edilen yüzdelerin toplamı %100'ü geçebilir. NS
varsayılan (kümülatif olmayan) davranış, birikimli olmayan davranışla belirtilebilir.
parametre.


Bir tamsayı parametresi, bir kesme yüzdesi (varsayılan olarak %3) belirtir. dizinler
Bu yüzdeden daha az katkıda bulunan değişiklikler çıktıda gösterilmez.

Örnek: Aşağıdakiler, daha az dizin içeren dizinleri yok sayarken, değiştirilen dosyaları sayar.
toplam değiştirilen dosya miktarının %10'undan fazlası ve biriken alt dizin sayıları
üst dizinlerde: --dirstat=files,10,cumulative.

--Özet
Oluşturmalar, yeniden adlandırmalar gibi genişletilmiş başlık bilgilerinin özet bir özetini çıktılayın
ve mod değişiklikleri.

--stat-ile-yama
-p --stat kelimesinin eş anlamlısı.

-z
--raw, --numstat, --name-only veya --name-status verildiğinde, muge yapmayın
yol adları ve çıkış alanı sonlandırıcıları olarak NUL'ları kullanın.

Bu seçenek olmadan, her yol adı çıktısında SEKME, LF, çift tırnak ve
sırasıyla \t, \n, \" ve \\ ile değiştirilen ters eğik çizgi karakterleri ve yol adı
bu değişikliklerden herhangi biri meydana gelirse çift tırnak içine alınacaktır.

--yalnızca isim
Yalnızca değiştirilen dosyaların adlarını göster.

--isim-durumu
Yalnızca değiştirilen dosyaların adlarını ve durumunu göster. --diff-filtre açıklamasına bakın
durum harflerinin ne anlama geldiğine dair seçenek.

--alt modül[= ]
Alt modüllerdeki farklılıkların nasıl gösterileceğini belirtin. --submodule veya --submodule=log olduğunda
verilir, log biçimi kullanılır. Bu biçim, aşağıdaki gibi aralıktaki taahhütleri listeler. git-
alt modül(1) özet yapar. --submodule seçeneğinin atlanması veya belirtilmesi
--submodule=short, kullanır kısa biçim. Bu biçim, yalnızca
aralığın başında ve sonunda taahhüt eder. diff.submodule aracılığıyla ince ayar yapılabilir
yapılandırma değişkeni.

--renk[= ]
Renkli farkı göster. --color (yani olmadan =) --color=always ile aynıdır.
her zaman, asla veya otomatik olabilir.

--renk yok
Renkli farkı kapatın. --color=asla ile aynıdır.

--word-diff[= ]
kullanarak, bir kelime farkı göster değiştirilen kelimeleri sınırlamak için. Varsayılan olarak, kelimeler
boşlukla sınırlandırılmış; aşağıdaki --word-diff-regex'e bakın. NS varsayılan sade,
ve şunlardan biri olmalıdır:

renk
Yalnızca renkleri kullanarak değiştirilen kelimeleri vurgulayın. --color anlamına gelir.

sade
Kelimeleri [-kaldırıldı-] ve {+eklendi+} olarak göster. kaçmak için hiçbir girişimde bulunmaz.
sınırlayıcılar girişte görünüyorsa, çıktı belirsiz olabilir.

porselen
Komut dosyası tüketimi için tasarlanmış özel bir satır tabanlı biçim kullanın.
Eklenen/kaldırılan/değiştirilmeyen çalıştırmalar, olağan birleşik fark biçiminde yazdırılır,
satırın başında +/-/` ` karakteriyle başlayıp
Hattın sonu. Girişteki yeni satırlar, bir satırda yaklaşık bir ~ ile temsil edilir
kendi.

Yok
Kelime farkını tekrar devre dışı bırakın.

İlk modun adına rağmen, rengin değiştirilen modu vurgulamak için kullanıldığını unutmayın.
etkinleştirilirse tüm modlarda parçalar.

--word-diff-regex=
Kullanmak boşluk olmayan koşuları düşünmek yerine bir kelimenin ne olduğuna karar vermek için
bir kelime ol. Ayrıca, zaten etkinleştirilmedikçe --word-diff anlamına gelir.

Her örtüşmeyen eşleşme bir kelime olarak kabul edilir. arasında herhangi bir şey
bu eşleşmeler boşluk olarak kabul edilir ve bulma amacıyla yok sayılır(!)
farklılıklar. yapmak için normal ifadenize |[^[:space:]] eklemek isteyebilirsiniz.
boşluk olmayan tüm karakterlerle eşleştiğinden emin olun. Yeni satır içeren bir eşleşme
yeni satırda sessizce kesildi(!).

Örneğin, --word-diff-regex=. her karaktere bir kelime gibi davranacak ve,
buna uygun olarak, farklılıkları karakter karakter gösterir.

Normal ifade, bir fark sürücüsü veya yapılandırma seçeneği aracılığıyla da ayarlanabilir, bkz.
git özellikleri(1) veya git-config(1). Bunu açıkça vermek, herhangi bir fark sürücüsünü veya
yapılandırma ayarı. Fark sürücüleri, yapılandırma ayarlarını geçersiz kılar.

--renkli-kelimeler[= ]
--word-diff=color plus'a eşdeğerdir (bir normal ifade belirtilmişse)
--word-diff-regex= .

--no-yeniden adlandırma
Yapılandırma dosyası yapılacak varsayılanı verse bile yeniden adlandırma algılamayı kapatın
böylece.

--Kontrol
Değişiklikler boşluk hatalarına neden olursa uyar. Boşluk hataları olarak kabul edilenler
core.whitespace yapılandırması tarafından kontrol edilir. Varsayılan olarak, sondaki boşluklar
(yalnızca boşluklardan oluşan satırlar dahil) ve bir boşluk karakteri
hemen ardından satırın ilk girintisinin içinde bir sekme karakteri gelir
boşluk hataları olarak kabul edilir. Sorun bulunursa sıfır olmayan durumla çıkar. Olumsuz
--exit-code ile uyumlu.

--ws-hata-vurgulama=
tarafından belirtilen satırlardaki boşluk hatalarını vurgula tarafından belirtilen renkte
color.diff.whitespace. eski, yeni, bağlamın virgülle ayrılmış bir listesidir. Ne zaman
bu seçenek verilmez, sadece yeni satırlardaki boşluk hataları vurgulanır. Örneğin
--ws-error-highlight=yeni,eski hem silinen hem de eklenen boşluk hatalarını vurgular
çizgiler. tümü eski, yeni, bağlam için kısa el olarak kullanılabilir.

--tam-indeks
İlk bir avuç karakter yerine, görüntü öncesi ve sonrası blob'un tamamını gösterin
yama biçimi çıktısı oluşturulurken "indeks" satırındaki nesne adları.

--ikili
--full-index'e ek olarak, git-apply ile uygulanabilecek bir ikili fark çıktısı alın.

--kısaltma[= ]
40 baytlık onaltılık nesne adının tamamını farklı ham biçim çıktısında göstermek yerine
ve fark ağacı başlık satırları yalnızca kısmi bir önek gösterir. Bu, aşağıdakilerden bağımsızdır:
--fark düzeltme eki çıktı biçimini kontrol eden yukarıdaki tam dizin seçeneği. Varsayılan olmayan
basamak sayısı --abbrev= ile belirtilebilir .

-B[ ][/ ], --break-rewrites[=[ ][/ ]]
Tam yeniden yazma değişikliklerini silme ve oluşturma çiftlerine ayırın. Bu iki hizmet eder
amaçları:

Seri olarak değil, bir dosyanın tamamen yeniden yazılması anlamına gelen bir değişikliğin şeklini etkiler.
eşleşen çok az satırla karıştırılmış silme ve ekleme
metinsel olarak bağlam olarak, ancak eski her şeyin tek bir silinmesi ve ardından bir
yeni olan her şeyin bir kez eklenmesi ve m sayısı -B'nin bu yönünü kontrol eder
seçeneği (varsayılan olarak %60'tır). -B/70%, orijinalin %30'undan azının
Git'in tamamen yeniden yazma olarak kabul etmesi için sonuçta kalır (yani, aksi takdirde
sonuçta ortaya çıkan yama, bağlamla karıştırılmış bir dizi silme ve ekleme olacaktır.
çizgiler).

-M ile birlikte kullanıldığında, tamamen yeniden yazılmış bir dosya da bir dosyanın kaynağı olarak kabul edilir.
yeniden adlandır (genellikle -M, yalnızca yeniden adlandırmanın kaynağı olarak kaybolan bir dosyayı dikkate alır),
ve n sayısı -B seçeneğinin bu yönünü kontrol eder (varsayılan olarak %50'dir). -B20%
%20 veya daha fazlasına kıyasla ekleme ve silme ile bir değişikliğin olduğunu belirtir.
dosyanın boyutu, olası bir yeniden adlandırma kaynağı olarak alınmaya uygundur.
başka bir dosya.

-M[ ], --find-yeniden adlandırır[= ]
Yeniden adlandırmaları algıla. n belirtilirse, benzerlik indeksinde bir eşik değeridir (ör.
dosyanın boyutuna kıyasla ekleme/silme miktarı). Örneğin, -M90% şu anlama gelir:
Git, dosyanın %90'ından fazlası varsa, silme/ekleme çiftini yeniden adlandırma olarak değerlendirmelidir.
değişmedi. % işareti olmadan, sayı bir kesir olarak okunmalıdır.
ondan önceki ondalık nokta. Yani, -M5 0.5 olur ve bu nedenle -M50% ile aynıdır.
Benzer şekilde, -M05, -M5% ile aynıdır. Algılamayı tam yeniden adlandırmalarla sınırlamak için -M100% kullanın.
Varsayılan benzerlik indeksi %50'dir.

-C[ ], --bul-kopyalar[= ]
Yeniden adlandırmanın yanı sıra kopyaları algılayın. Ayrıca --find-copies-harder'a bakın. n belirtilirse,
-M ile aynı anlama sahiptir .

--bul-kopyaları-daha zor
Performans nedenleriyle, varsayılan olarak -C seçeneği, yalnızca orijinal dosya varsa kopyaları bulur.
kopyası aynı değişiklik kümesinde değiştirildi. Bu bayrak komutun incelenmesini sağlar
kopya kaynağı için aday olarak değiştirilmemiş dosyalar. Bu çok pahalı
büyük projeler için çalıştırma, bu yüzden dikkatli kullanın. Birden fazla -C seçeneği verilmesi
aynı etkiye sahiptir.

-D, --geri döndürülemez-silme
Silmeler için ön görüntüyü atlayın, yani yalnızca başlığı yazdırın, ancak arasındaki farkı değil
ön görüntü ve /dev/null. Ortaya çıkan yama, yama veya yama ile uygulanmamalıdır.
git uygula; bu yalnızca, yalnızca içeriği gözden geçirmeye konsantre olmak isteyenler içindir.
değişiklikten sonra metin. Ek olarak, çıktı açıkça yeterli bilgiden yoksundur.
böyle bir yamayı manuel olarak bile tersine uygulayın, bu nedenle seçeneğin adı.

-B ile birlikte kullanıldığında, a'nın silme kısmındaki ön resmi de atlayın.
çifti sil/oluştur.

-l
-M ve -C seçenekleri, O(n^2) işlem süresini gerektirir; burada n,
potansiyel yeniden adlandırma/kopyalama hedefleri. Bu seçenek, yeniden adlandırma/kopyalama algılamasının çalışmasını engeller
yeniden adlandırma/kopyalama hedeflerinin sayısı belirtilen sayıyı aşarsa.

--diff-filter=[(A|C|D|M|R|T|U|X|B)...[*]]
Yalnızca Eklenen (A), Kopyalanan (C), Silinen (D), Değiştirilen (M), Yeniden Adlandırılan dosyaları seçin
(R), türlerinin (yani normal dosya, sembolik bağlantı, alt modül, ...) değiştirilmesini sağlayın (T),
Birleştirilmemiş (U), Bilinmiyor (X) veya eşleşmeleri Bozulmuş (B). Herhangi bir kombinasyon
filtre karakterlerinden (hiçbiri dahil) kullanılabilir. * (Tümü veya hiçbiri) eklendiğinde
kombinasyona, diğerleriyle eşleşen herhangi bir dosya varsa tüm yollar seçilir.
karşılaştırmadaki kriterler; diğer kriterlere uygun dosya yoksa, hiçbir şey
seçilir.

-S
Belirtilen dizenin oluşum sayısını değiştiren farklılıkları arayın
(yani ekleme/silme) bir dosyada. Senaryo yazarının kullanımı için tasarlanmıştır.

Tam bir kod bloğu (bir yapı gibi) aradığınızda ve istediğinizde kullanışlıdır.
ilk ortaya çıktığından beri bu bloğun geçmişini bilmek için: özelliği kullanın
ön görüntüdeki ilginç bloğu -S'ye geri beslemek ve devam etmek için yinelemeli olarak
bloğun ilk sürümünü alana kadar.

-G
Yama metni, eşleşen/çıkartılan satırları içeren farklılıkları arayın. .

-S arasındaki farkı göstermek için --pickaxe-regex ve -G , düşünmek
aynı dosyada aşağıdaki farka sahip bir taahhüt:

+ dönüş !regexec(regexp, iki->ptr, 1, ®match, 0);
...
- isabet = !regexec(regexp, mf2.ptr, 1, ®match, 0);

git log -G"regexec\(regexp" bu taahhüdü gösterirken, git log -S"regexec\(regexp"
--pickaxe-regex olmayacak (çünkü bu dizgenin oluşum sayısı
değişiklik).

Bak kazma girmek gitdiffcore(7) daha fazla bilgi için.

--kazma-hepsi
-S veya -G bir değişiklik bulduğunda, yalnızca değişiklik kümesindeki değişiklikleri değil, bu değişiklik kümesindeki tüm değişiklikleri gösterin.
değişikliği içeren dosyalar .

--pickaxe-regex
tedavi et -S'ye eşleşecek genişletilmiş bir POSIX normal ifadesi olarak verilir.


Yamanın çıktısını, belirtilen sırada , bir kabuk küresi olan
satır başına desen. Bu, diff.orderFile yapılandırma değişkenini geçersiz kılar (bkz. git-
yapılandırma(1)). diff.orderFile'ı iptal etmek için -O/dev/null kullanın.

-R
İki girişi değiştirin; yani, dizin veya diskteki dosyadan ağaca farkları göster
içeriği.

--göreceli[= ]
Projenin bir alt dizininden çalıştırıldığında, projenin dışındaki değişiklikleri hariç tutması söylenebilir.
dizini seçin ve bu seçenekle dizine göre yol adlarını gösterin. sen yokken
bir alt dizinde (örneğin çıplak bir depoda), hangi alt dizini oluşturacağınızı belirleyebilirsiniz.
bir vererek çıktı göreli bir argüman olarak.

-bir metin
Tüm dosyaları metin olarak ele alın.

--eol-at-boşluğu görmezden gelin
EOL'de boşluktaki değişiklikleri yok sayın.

-b, --ignore-boşluk-değişimi
Boşluk miktarındaki değişiklikleri yoksayın. Bu, satır sonundaki boşlukları yok sayar ve
bir veya daha fazla boşluk karakterinin diğer tüm dizilerini eşdeğer olarak kabul eder.

-w, --tüm alanı göz ardı et
Çizgileri karşılaştırırken boşlukları dikkate almayın. Bu, bir satırda olsa bile farklılıkları yok sayar.
diğer satırın olmadığı boşluk.

--ignore-boş-satırlar
Tüm satırları boş olan değişiklikleri yoksay.

--ara-parça-bağlam=
Belirtilen satır sayısına kadar, fark parçaları arasındaki bağlamı gösterin, böylece
birbirine yakın olan iri parçaları kaynaştırıyor.

-W, --fonksiyon bağlamı
Değişikliklerin tüm çevreleyen işlevlerini göster.

--exit-kodu
Şuna benzer kodlarla programdan çıkış yapın fark(1). Yani varsa 1 ile çıkar
farklar vardı ve 0 fark yok anlamına geliyor.

--sessizlik
Programın tüm çıkışını devre dışı bırakın. --exit-code anlamına gelir.

--ext-diff
Harici bir fark yardımcısının yürütülmesine izin verin. Harici bir fark sürücüsü ayarlarsanız
git özellikleri(5), bu seçeneği aşağıdakilerle kullanmanız gerekir: git günlüğü(1) ve arkadaşlar.

--ext-fark yok
Harici fark sürücülerine izin verme.

--textconv, --no-textconv
İkili dosyaları karşılaştırırken harici metin dönüştürme filtrelerinin çalıştırılmasına izin verin (veya izin vermeyin)
Dosyalar. Görmek git özellikleri(5) ayrıntılar için. Çünkü textconv filtreleri tipik olarak bir
tek yönlü dönüştürme, ortaya çıkan fark insan tüketimi için uygundur, ancak olamaz
uygulanacaktır. Bu nedenle, textconv filtreleri varsayılan olarak yalnızca git-
fark(1) ve git günlüğü(1), ancak için değil git-format-yama(1) veya farklı tesisat komutları.

--ignore-alt modüller[= ]
Diff neslinde alt modüllerde yapılan değişiklikleri yok sayın. "yok" olabilir,
Varsayılan olan "izlenmeyen", "kirli" veya "tümü". "Hiçbiri" kullanılması,
alt modül, izlenmeyen veya değiştirilmiş dosyalar veya HEAD'i içerdiğinde değiştirilir
süper projede kaydedilen taahhütten farklıdır ve herhangi birini geçersiz kılmak için kullanılabilir
ayarları aldırmamak seçeneği git-config(1) veya gitmodüller(5). "İzlenmemiş" olduğunda
kullanılmış alt modüller, yalnızca izlenmeyen içerik içerdiğinde kirli kabul edilmez (ancak
hala değiştirilmiş içerik için taranırlar). "Kirli" kullanmak, tüm değişiklikleri yok sayar.
alt modüllerin çalışma ağacı, yalnızca süper projede depolanan taahhütlerdeki değişiklikler
gösterildi (bu, 1.7.0'a kadar olan davranıştı). "Tümü" kullanımı, tüm değişiklikleri gizler.
alt modüller.

--src öneki=
"a/" yerine verilen kaynak önekini gösterin.

--dst-ön ek=
"b/" yerine verilen hedef önekini göster.

--ön ek yok
Herhangi bir kaynak veya hedef önek göstermeyin.

Bu yaygın seçenekler hakkında daha ayrıntılı açıklama için ayrıca bkz. gitdiffcore(7).

-1 --base, -2 --bizimki, -3 --onlarınki, -0
Sırasıyla "temel" sürüm, "şubemiz" veya "şubeleri" ile farklılık gösterir. İle birlikte
bu seçenekler, birleştirilmiş girişler için farklar gösterilmez.

Varsayılan, şubemize (-2) ve temiz bir şekilde çözümlenmiş yollara göre farklılık göstermektir. NS
birleştirilmemiş girişler için diff çıktısını atlamak ve sadece göstermek için -0 seçeneği verilebilir
"Birleştirilmemiş".

-c, --cc
Bu, 2. aşamayı (bizim dalımız), 3. aşamayı (dalları) ve çalışan ağaç dosyasını karşılaştırır.
ve yola benzer şekilde birleşik bir fark verir fark ağacı ile bir birleştirme taahhüdü gösterir
bu bayraklar.

-q
Var olmayan dosyalarda bile sessiz kalın

RAW ÇIKTI FORMAT


"git-diff-index", "git-diff-tree", "git-diff-files" ve "git'ten ham çıktı formatı
diff --raw" çok benzer.

Bu komutların tümü iki grup şeyi karşılaştırır; karşılaştırılan şey farklıdır:

git-diff-index
karşılaştırır ve dosya sistemindeki dosyalar.

git-diff-index --cached
karşılaştırır ve indeks.

git-diff-ağacı [-r] [ ...]
iki argüman tarafından adlandırılan ağaçları karşılaştırır.

git-diff dosyaları [ ...]
dizin ve dosya sistemindeki dosyaları karşılaştırır.

"git-diff-tree" komutu, çıktısına, olanın karmasını yazdırarak başlar.
karşılaştırıldı. Bundan sonra, tüm komutlar değiştirilen dosya başına bir çıktı satırı yazdırır.

Bir çıktı satırı şu şekilde biçimlendirilir:

yerinde düzenleme :100644 100644 bcd1234... 0123456... M file0
kopyala-düzenle :100644 100644 abcd123... 1234567... C68 dosya1 dosya2
yeniden adlandır-düzenle :100644 100644 abcd123... 1234567... R86 dosya1 dosya3
oluştur :000000 100644 0000000... 1234567... Bir dosya4
sil :100644 000000 1234567... 0000000... D dosyası5
birleştirilmemiş :000000 000000 0000000... 0000000... U dosyası6

Yani, soldan sağa:

1. bir kolon.

2. "src" modu; 000000, oluşturuluyorsa veya birleştirilmemişse.

3. bir boşluk.

4. "dst" modu; 000000 silinmişse veya birleştirilmemişse.

5. bir boşluk.

6. "src" için sha1; 0{40} oluşturuluyorsa veya birleştirilmemişse.

7. bir boşluk.

8. "dst" için sha1; 0{40} yaratılıyorsa, birleştirilmemişse veya "çalışma ağacına bak".

9. bir boşluk.

10. durum, ardından isteğe bağlı "skor" numarası.

11. ne zaman bir sekme veya bir NUL -z seçeneği kullanılır.

12. "src" yolu

13. ne zaman bir sekme veya bir NUL -z seçenek kullanılır; sadece C veya R için mevcuttur.

14. "dst" yolu; sadece C veya R için mevcuttur.

15. ne zaman bir LF veya bir NUL -z seçeneği, kaydı sonlandırmak için kullanılır.

Olası durum mektupları şunlardır:

· A: bir dosyanın eklenmesi

· C: bir dosyanın yenisine kopyalanması

· D: bir dosyanın silinmesi

· M: bir dosyanın içeriğinin veya modunun değiştirilmesi

· R: bir dosyanın yeniden adlandırılması

· T: dosya türünde değişiklik

· U: dosya birleştirilmemiş (taahhüt edilebilmesi için birleştirme işlemini tamamlamanız gerekir)

· X: "bilinmeyen" değişiklik türü (büyük olasılıkla bir hata, lütfen bildirin)

C ve R durum harflerini her zaman bir puan takip eder (yüzdesini ifade eder).
taşıma veya kopyalamanın kaynağı ve hedefi arasındaki benzerlik). Durum harfi M olabilir
ardından dosya yeniden yazma işlemleri için bir puan (farklılık yüzdesini gösterir) gelir.

bir dosya dosya sisteminde yeniyse ve dosya ile senkronize değilse, tümü 1 olarak gösterilir.
İçerik.

Örnek:

:100644 100644 5be4a4...... 000000...... M dosya.c

-z seçeneği kullanılmadığında, yol adlarında SEKME, LF ve ters eğik çizgi karakterleri gösterilir
sırasıyla \t, \n ve \\ olarak.

FARKLI FORMAT İÇİN BİRLEŞMELER


"git-diff-tree", "git-diff-files" ve "git-diff --raw" -c or --cc için seçenek
birleştirme taahhütleri için de fark çıktısı oluşturun. Çıktı açıklanan biçimden farklı
yukarıdaki şekilde:

1. her ebeveyn için bir kolon vardır

2. daha fazla "src" modu ve "src" sha1 vardır

3. durum, her ebeveyn için birleştirilmiş durum karakterleridir

4. isteğe bağlı "puan" numarası yok

5. tek yol, yalnızca "dst" için

Örnek:

::100644 100644 100644 fabadb8... cc95eb0... 4866510... MM açıklama.c

Bunu not et kombine fark yalnızca tüm ebeveynlerden değiştirilen dosyaları listeler.

ÜRETİCİ YAMALAR İLE -P


"git-diff-index", "git-diff-tree" veya "git-diff-files" bir -p seçenek, "git
fark" olmadan --çiğ seçeneği veya "-p" seçeneği ile "git log",
yukarıda açıklanan çıktı; bunun yerine bir yama dosyası üretirler. Oluşturmayı özelleştirebilirsiniz
GIT_EXTERNAL_DIFF ve GIT_DIFF_OPTS ortam değişkenleri aracılığıyla bu tür yamalar.

-p seçeneğinin ürettiği şey, geleneksel fark biçiminden biraz farklıdır:

1. Önünde şuna benzeyen bir "git diff" başlığı bulunur:

diff --git a/dosya1 b/dosya2

a/ ve b/ dosya adları, yeniden adlandırma/kopyalama söz konusu olmadığı sürece aynıdır. Özellikle, hatta
oluşturma veya silme için /dev/null değil a/ veya b/ yerine kullanılır
dosya.

Yeniden adlandırma/kopyalama söz konusu olduğunda, dosya1 ve dosya2, dosyanın kaynak dosyasının adını gösterir.
sırasıyla yeniden adlandır/kopyala ve yeniden adlandır/kopyala öğesinin ürettiği dosyanın adı.

2. Bunu bir veya daha fazla genişletilmiş başlık satırı izler:

eski mod
yeni mod
silinen dosya modu
yeni dosya modu
kopyala
kopyala
yeniden adlandırmak
yeniden adlandırmak
benzerlik indeksi
farklılık endeksi
dizin ..

Dosya modları, dosya türü ve dosya dahil olmak üzere 6 haneli sekizli sayılar olarak yazdırılır
izin bitleri.

Genişletilmiş başlıklardaki yol adları a/ ve b/ öneklerini içermez.

Benzerlik indeksi, değişmeyen satırların yüzdesi ve farklılık indeksidir.
değiştirilen satırların yüzdesidir. Aşağı yuvarlatılmış bir tamsayıdır, ardından bir
yüzde işareti. %100'lük benzerlik indeksi değeri bu nedenle iki eşit dosya için ayrılmıştır,
%100 farklılık, eski dosyadan hiçbir satırın yeni dosyaya geçmediği anlamına gelir.
bir.

Dizin satırı, değişiklikten önceki ve sonraki SHA-1 sağlama toplamını içerir. NS NS
dosya modu değişmezse dahil edilir; aksi takdirde, ayrı çizgiler eskiyi gösterir.
ve yeni mod.

3. Yol adlarında TAB, LF, çift tırnak ve ters eğik çizgi karakterleri \t, \n,
sırasıyla \" ve \\. Böyle bir ikameye ihtiyaç varsa, o zaman bütün
yol adı çift tırnak içine alınır.

4. Çıktıdaki tüm dosya1 dosyaları, taahhütten önceki dosyalara atıfta bulunur ve tüm dosya2 dosyaları
dosyalar taahhütten sonra dosyalara başvurur. Her değişikliği her birine uygulamak yanlıştır.
sırayla dosyalayın. Örneğin, bu yama a ve b'yi değiştirecek:

fark --git a/ab/b
a'dan yeniden adlandır
b olarak yeniden adlandır
diff --git a/bb/a
b'den yeniden adlandır
yeniden adlandırmak

KOMBİNE FARKLI FORMAT


Herhangi bir fark oluşturan komut, -c veya --cc seçeneğini kullanarak bir kombine fark ne zaman
birleştirme gösteriliyor. İle birleştirmeler gösterilirken bu varsayılan biçimdir. git-diff(1) veya git-
şov(1). Ayrıca, zorlamak için bu komutlardan herhangi birine -m seçeneğini verebileceğinizi unutmayın.
Bir birleşmenin bireysel ebeveynleri ile farklılıkların üretilmesi.

A kombine fark biçimi şöyle görünür:

diff -- birleştirilmiş açıklama.c
dizin fabadb8,cc95eb0..4866510
--- a/açıklama.c
+++ b/açıklama.c
@@@ -98,20 -98,12 +98,20 @@@
dönüş (a_date > b_date) ? -1 : (a_date == b_date) ? 0: 1;
}

- statik boşluk tanımlama(char *arg)
-statik geçersiz açıklama(struct commit *cmit, int last_one)
++statik geçersiz tanımlama(char *arg, int last_one)
{
+ imzasız char sha1[20];
+ struct taahhüt *cmt;
struct commit_list *liste;
statik int başlatıldı = 0;
struct taahhüt_adı *n;

+ if (get_sha1(arg, sha1) < 0)
+ kullanım(açıklama_kullanımı);
+ cmit = arama_uygulama_referansı(sha1);
+ eğer (!cmt)
+ kullanım(açıklama_kullanımı);
+
if (!başlatıldı) {
başlatıldı = 1;
for_each_ref(get_name);

1. Önünde şuna benzeyen bir "git diff" başlığı bulunur ( -c seçenektir
Kullanılmış):

diff -- birleştirilmiş dosya

veya bunun gibi (ne zaman --cc seçeneği kullanılır):

diff --cc dosyası

2. Bunu bir veya daha fazla genişletilmiş başlık satırı izler (bu örnek,
iki ebeveyn):

dizin , ..
mod , ..
yeni dosya modu
silinen dosya modu ,

mod , .. satırı yalnızca aşağıdakilerden en az birinin NS
diğerlerinden farklı. Algılanan içerikler hakkında bilgi içeren genişletilmiş başlıklar
hareket (yeniden adlandırma ve kopyalama algılama) iki farkla çalışmak üzere tasarlanmıştır
ve birleşik diff formatı tarafından kullanılmaz.

3. Bunu iki satırlık dosyadan/dosyaya başlığı takip eder.

--- bir dosya
+++ b/dosya

Geleneksel için iki satırlı başlığa benzer birleşik diff biçimi, /dev/null için kullanılır
sinyal oluşturulan veya silinen dosyalar.

4. Chunk başlık formatı, insanların yanlışlıkla onu beslemesini önlemek için değiştirildi.
yama -p1. Birleştirme tamamlama değişikliklerinin gözden geçirilmesi için birleştirilmiş fark formatı oluşturuldu ve
başvurmak için değildi. Değişiklik, genişletilmiş sürümdeki değişikliğe benzer. indeks
başlık:

@@@ @@@

Birleştirilmiş fark için yığın başlığında (ebeveyn sayısı + 1) @ karakterleri vardır
biçimi.

Gelenekselden farklı olarak birleşik A ve B adlı iki dosyayı tek bir dosyayla gösteren diff biçimi
- (eksi - A'da görünüyor, ancak B'de kaldırılmış), + (artı - A'da eksik ama
B'ye eklendi) veya " " (boşluk — değişmedi) öneki, bu biçim iki veya daha fazla dosyayı karşılaştırır
bir dosya X ile dosya1, dosya2,... ve X'in her bir dosyaN'den nasıl farklı olduğunu gösterir. bir sütun
fileN'nin her biri için, X'in satırının diğerlerinden nasıl farklı olduğunu not etmek için çıktı satırının başına eklenir.
bunu.

N sütunundaki A - karakteri, satırın fileN'de göründüğü, ancak görünmediği anlamına gelir
Sonuçta. N sütunundaki A + karakteri, sonuçta satırın göründüğü anlamına gelir,
ve fileN bu satıra sahip değildir (başka bir deyişle, satır, noktadan itibaren eklenmiştir)
o ebeveynin görünümü).

Yukarıdaki örnek çıktıda, işlev imzası her iki dosyadan da değiştirildi (dolayısıyla iki
- hem dosya1'den hem de dosya2'den kaldırmalar, artı ++, eklenen bir satır anlamına gelmez
dosya1 veya dosya2'de görünür). Ayrıca sekiz satır daha dosya1'den aynıdır, ancak
dosya2'de görünmez (bu nedenle + ile ön eklidir).

git diff-tree -c ile gösterildiğinde, bir birleştirme taahhüdünün ebeveynlerini birleştirme ile karşılaştırır.
sonuç (yani file1..fileN ebeveynlerdir). git diff-files -c ile gösterildiğinde, karşılaştırır
iki çözülmemiş birleştirme ebeveyni, çalışan ağaç dosyasıyla (yani dosya1 2. aşamadır, yani
"bizim sürümümüz", dosya2 3. aşama, yani "onların sürümü").

DİĞER FARKLI BİÇİMLER


--summary seçeneği, yeni eklenen, silinen, yeniden adlandırılan ve kopyalanan dosyaları tanımlar. --stat
seçenek ekler fark durumu(1) çıktı grafiği. Bu seçenekler diğer seçeneklerle birleştirilebilir.
-p gibi seçenekler ve insan tüketimi içindir.

Yeniden adlandırma veya kopyalama içeren bir değişiklik gösterilirken, --stat çıktısı
yol adlarının ortak ön ekini ve son ekini birleştirerek yol adlarını kompakt bir şekilde. Örneğin, bir
386 satırı değiştirirken arch/i86/Makefile öğesini arch/x4/Makefile konumuna taşıyan değişiklik
şu şekilde gösterilir:

kemer/{i386 => x86}/Makefile | 4 +--

--numstat seçeneği, fark durumu(1) bilgi, ancak daha kolay makine için tasarlanmıştır
tüketim. --numstat çıktısındaki bir giriş şöyle görünür:

1 2 BENİ OKU
3 1 kemer/{i386 => x86}/Makefile

Yani, soldan sağa:

1. eklenen satır sayısı;

2. bir sekme;

3. silinen satır sayısı;

4. bir sekme;

5. yol adı (muhtemelen yeniden adlandırma/kopyalama bilgileriyle);

6. yeni satır.

-z çıktı seçeneği etkin olduğunda çıktı şu şekilde biçimlendirilir:

1 2 BENİ OKU NUL
3 1 NUL ark/i386/Makefile NUL ark/x86/Makefile NUL

Yani:

1. eklenen satır sayısı;

2. bir sekme;

3. silinen satır sayısı;

4. bir sekme;

5. bir NUL (yalnızca yeniden adlandırılmış/kopyalanmışsa mevcuttur);

6. ön görüntüdeki yol adı;

7. bir NUL (yalnızca yeniden adlandırılmış/kopyalanmışsa mevcuttur);

8. postimage içindeki yol adı (yalnızca yeniden adlandırılmış/kopyalanmışsa mevcuttur);

9. bir NUL.

Yeniden adlandırılmış durumda ön görüntü yolundan önceki fazladan NUL, kodu okuyan komut dosyalarına izin vermektir.
okunmakta olan kaydın tek yollu bir kayıt mı yoksa yeniden adlandırma/kopyalama mı olduğunu söyleyen çıktı
okumadan kaydedin. Eklenen ve silinen satırları okuduktan sonra, NUL'a kadar okuma
yol adını verir, ancak bu NUL ise, kayıt iki yol gösterecektir.

GYTE


Bir kısmı git(1) süit

onworks.net hizmetlerini kullanarak git-diff dosyalarını çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad