Ist es möglich, mit git diff
? nur Unterschiede zwischen alten und neuen Zeilen anzuzeigen?
Hier ist der Inhalt der Datei a.txt:
123456789
Und hier ist der Inhalt der Datei b.txt
123455789
Hier ist normal git diff
output:
Und hier ist, was ich zu erreichen versuche:
Ich würde das lieber mit git diff
machen, aber wenn es nicht möglich ist, bin ich mit jeder anderen App einverstanden.
Dies ist, was die Option --word-diff
für git diff
tut. Obwohl standardmäßig nicht auf dieser Granularitätsebene.
Um Single-Zeichen-Diffs wie diese zu erhalten, würde auch ein benutzerdefiniertes --word-diff-regex
benötigt. (Ich habe '([^[:alnum:]]|[^[:space:]])'
in einem Git Alias hier, was das zu tun scheint. Obwohl das nicht der Punkt war, als ich es schrieb.)
Sie können übrigens auch --word-diff=color --word-diff-regex='...'
auf --color-words='...'
abkürzen.
Sehen Sie, wenn dies tut, was Sie wollen:
%Vor%Verwendet als:
%Vor%oder
%Vor% Dieses awk könnte wahrscheinlich sauberer sein, und es gibt ein non-GNU awk split
idiom, um ein Array zu löschen, an das ich mich nicht direkt erinnern kann, wenn delete a
ein Problem ist.
Bearbeiten: Aktualisierter Code oben, um der neuesten Revision von gist zu entsprechen. Das ursprüngliche Sonderfallmuster war übermäßig freizügig. Der ursprüngliche Code hat Leerzeilen nicht korrekt verarbeitet. Der aktualisierte Code tut auch nicht, aber tut das Beste, was ich glaube, ist möglich angesichts der bekannte Einschränkungen von --word-diff=porcelain
.