Git Diff -W negeert WhiteSpace alleen bij Start & AMP; EINDE VAN LIJNEN

Ik ben dol op gebruik git diff -wom whitespace-verschillen te negeren. Maar ik heb net gemerkt dat het zelfs whitespace-verschillen in het midden van de lijnen negeert. Hoe kon ik alleen witruimteverschillen negeren die bij het begin (^) of eind ($) van regels komen?


Antwoord 1, Autoriteit 100%

Voor het einde van de regelgebruik:

git diff --ignore-space-at-eol

In plaats van wat u momenteel gebruikt:

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

voor start van de lijn … je hebt geen geluk als je een ingebouwde oplossing wilt.

Als je echter het niet erg vindt om je handen vies te krijgen, is er een nogal oude patch die daar ergens zweeft die ondersteuning toevoegt voor “- elignore-space-at-sol”.


Antwoord 2, Autoriteit 2%

Dit is een oude vraag, maar wordt nog steeds regelmatig bekeken / nodig. Ik wil me plaatsen op voorzichtiglezers zoals ik dat witspace zoals vermeld in de vraag van de OP is niet hetzelfde als de definitie van Regex, om newlines, tabs en ruimtetekens toe te voegen – Git vraagt ​​je expliciet te zijn. Bekijk hier enkele opties: https://git-scm.com/ BOEK / EN / V2 / AANPASSING-GIT-GIT-configuratie

Zoals vermeld, git diff -bof git diff --ignore-space-changenegeert spaties bij lijnuiteinden. Als u dat wenst dat instelling uw standaardgedrag is, voegt de volgende regel toe dat de intentie op uw .gitconfig-bestand is, dus het zal altijd de ruimte negeren om eindigt op:

git config --global core.whitespace trailing-space

In mijn geval vond ik deze vraag omdat ik geïnteresseerd was in het negeren van ‘carriage return witpace verschillen’, dus ik had dit nodig:

git diff --ignore-cr-at-eolOF
git config --global core.whitespace cr-at-eolvan hier .

Je kunt het ook de standaard alleen voor die repomaken door de –global parameter weg te laten en het instellingenbestand voor die repo in te checken. Voor het CR-probleem waarmee ik werd geconfronteerd, verdwijnt het na het inchecken als warncrlf of autocrlf = true in de [core]-sectie van het .gitconfig-bestand.

Other episodes