Verwenden Sie auch das Komma als Worttrennzeichen in diff

Lesezeit: 2 Minuten

Benutzer-Avatar
Sedrik

Wie kann ich hinzufügen , als Worttrennzeichen für git diff –word-diff?

Zum Beispiel möchte ich, dass das Diff das erkennt

function(A,B,C) -> function(A, B, C)

hat nur die Leerzeichen hinzugefügt, anstatt die ganze Zeile zu ersetzen.

  • Die Antworten adressieren Kommas und Räume. Für Kommas nurwir gebrauchen --word-diff-regex='[^,]+'

    – Mateen Ulhaq

    1. August 2020 um 1:31 Uhr


Verwenden --word-diff-regex:

   --word-diff-regex=<regex>
       Use <regex> to decide what a word is, instead of considering runs
       of non-whitespace to be a word. Also implies --word-diff unless it
       was already enabled.

       Every non-overlapping match of the <regex> is considered a word.
       Anything between these matches is considered whitespace and
       ignored(!) for the purposes of finding differences. You may want to
       append |[^[:space:]] to your regular expression to make sure that
       it matches all non-whitespace characters. A match that contains a
       newline is silently truncated(!) at the newline.

       The regex can also be set via a diff driver or configuration
       option, see gitattributes(1) or git-config(1). Giving it explicitly
       overrides any diff driver or configuration setting. Diff drivers
       override configuration settings.

Ich habe es nie benutzt, aber ich vermute das git diff --word-diff-regex="[^[:space:],]+" könnte funktionieren.

  • Irgendeine Idee, wie man es in git config einstellt, um diese Regex standardmäßig zu verwenden, wenn ich –word-diff angebe, anstatt dass ich die Regex jedes Mal angeben muss.

    – sibaz

    13. Dezember 2016 um 14:45 Uhr

  • Meine eigene Frage beantwortet: git config --global diff.wordRegex [^[:space:],]+

    – sibaz

    13. Dezember 2016 um 14:48 Uhr


  • Der einzige Fehler dabei ist, dass keine hinzugefügten/entfernten Kommas angezeigt werden. Um diese auch zu sehen, verwenden Sie --word-diff-regex="[^[:space:],]+|[,]+"

    – Benutzer6506750

    17. Februar 2017 um 15:40 Uhr

Zusätzlich zur Antwort von KurzedMetal: Ohne die Anführungszeichen funktioniert es noch besser, da es die automatische Vervollständigung meiner Bashs nicht unterbricht, wenn ich TAB drücke.

git diff --word-diff-regex=[^[:space:],]+

Sie können es auch versuchen -w/--ignore-all-spaceobwohl dadurch möglicherweise mehr Leerzeichen ignoriert werden, als Ihnen lieb ist.

  • -b ignoriert etwas weniger Leerzeichen

    – Yann Dinendal

    27. November 2014 um 15:00 Uhr

1246800cookie-checkVerwenden Sie auch das Komma als Worttrennzeichen in diff

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy