Git diff -w boşlukları yalnızca satır başında ve sonunda yoksay


366

git diff -wBoşluk farklarını göz ardı etmek için kullanmayı seviyorum . Ancak, çizgilerin ortasındaki boşluk farklarını bile göz ardı ettiğini fark ettim. Yalnızca satırların başında (^) veya sonunda ($) gelen boşluk farklarını nasıl yoksayabilirim?


31
Kullanılarak kabul git diff -byerine?
Jonas Byström

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

Yanıtlar:


450

Hat sonu kullanımı için:

git diff --ignore-space-at-eol

Şu anda ne kullanıyorsunuz:

git diff -w (--ignore-all-space)

Hattın başlangıcı için ... yerleşik bir çözüm istiyorsanız şansınız kalmadı.

Ancak, ellerinizi kirletmek sakıncası yoksa orada "--ignore-space-at-sol" için destek ekleyen bir yerde yüzen oldukça eski bir yama var.


Teşekkürler, ancak diff'i harici bir araca yapılandırdıysanız çalışmaz .. herhangi bir fikir?
adardesign

@adardesign, bunun harici araçta yapılandırılması gerektiğini düşünüyorum. Git diff beyaz boşluk değişiklikleri olmadan sunmak için yapabileceği bir şey olup olmadığını emin değilim ... olsa da yanlış olabilir; git oldukça güçlü ...
johnny

Varsayılan olarak yapılandırılmış olması güzel olurdu. -W ya da -b ya da --ignore-all-space. Bu konuda stackoverflow.com/questions/7310033/…
Artyom

8
-W önerisine katılıyorum, çünkü -w "abc def" ve "abcdef" gibi aynı davranıyor, nadiren istediğim şey bu!
Richard Wiseman

3

Bu eski bir sorudur, ancak hala düzenli olarak incelenmekte / ihtiyaç duyulmaktadır. Bunu benim gibi dikkatli okuyuculara göndermek istediğiniz boşluk OP'ın söz konusu belirtildiği gibi olduğu değil yeni satırları, sekmeleri ve uzay karakterleri içerecek şekilde, Regex tanımına aynı - Git müstehcen olmak ister. Buradaki bazı seçeneklere bakın: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration

Belirtildiği gibi, git diff -bveya git diff --ignore-space-changesatır uçlarındaki boşlukları yoksayar. Bu ayarın varsayılan davranışınız olmasını istiyorsanız, aşağıdaki satır bu amacı .gitconfig dosyanıza ekler, böylece satır sonlarındaki boşluğu her zaman göz ardı eder:

git config --global core.whitespace trailing-space

Benim durumumda, ben "taşıma dönüş boşluk farkları" görmezden ilgileniyordu çünkü bu soruyu buldum, bu yüzden bu gerekli:

git diff --ignore-cr-at-eolya git config --global core.whitespace cr-at-eoldan burada .

Ayrıca --global parametresini atlayarak ve bu repo için ayarlar dosyasını kontrol ederek yalnızca bu repo için varsayılan yapabilirsiniz . Karşılaştığım CR sorunu için .gitconfig dosyasının [core] bölümünde warncrlf veya autocrlf = true ise check-in işleminden sonra kaybolur.

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.