Ich nutze git diff --color-words
gerne, um die Wörter zu sehen, die sich in einer Datei geändert haben:
Ich möchte diesen Unterschied jedoch mit jemandem teilen, der weder git noch ein Farbterminal hat. Kennt jemand ein Tool oder einen Trick, der farblich hinterlegte Terminalausgabe in HTML konvertieren kann?
wget "http://www.pixelbeat.org/scripts/ansi2html.sh" -O /tmp/ansi2html.sh
chmod +x /tmp/ansi2html.sh
git diff --color-words --no-index orig.txt edited.txt | \
/tmp/ansi2html.sh > 2beshared.html
Was ich wirklich brauchte, war ein ANSI to HTML-Konverter. Und ich habe auf http://www.pixelbeat.org/ einen sehr anständigen gefunden.
ANMERKUNG: Möglicherweise sehen Sie keine Färbung, es sei denn, Sie enthalten --color
oder --color-words
, wahrscheinlich, weil das Piping dazu führt, dass git diff Farben ausschließt.
HINWEIS 2: Möglicherweise müssen Sie gnu sed und awk installieren, insbesondere wenn Sie einen Mac verwenden. Tun Sie dies mit brew install gnu-sed gawk
. Möglicherweise müssen Sie sie auch manuell zu Ihrem Pfad hinzufügen, z. mit ln -s /usr/local/Cellar/gnu-sed/4.2.2/bin/gsed /usr/local/bin/
.
laden Sie diff2html herunter, extrahieren Sie es und konvertieren Sie diff in html mit diesem Befehl:
$ diff2html file1.txt file2.txt > diff-demo1.htm
Es gibt mehr ... schau dir die diese Frage an.
Oder nach dem Schlagen:
git diff --color-words --no-index orig.txt /tmp/edited.txt > myfile
laden Sie beide Ansifilter von this location herunter. Verwenden Sie diesen Befehl, um meine Datei in das HTML-Format zu konvertieren
ansifilter -i myfile -H -o myfile2.html
also ... das ist genau was du willst;)
Wenn Sie saubere Diffs mit übereinstimmender Linienähnlichkeit sehen möchten, besserer Wortvergleich , Syntax-Highlight und mehr Check-out diff2html das ist sehr anpassbar git diff to HTML presenter.
Um es in der Befehlszeile zu verwenden, können Sie diff2html-cli überprüfen. Dies ist eine einfache CLI, die in Node.js geschrieben wurde.
So können Sie Ihre Diffs mit Kollegen teilen, die in diffy.org integriert sind.
Schauen Sie sich ein diff-Beispiel an hier .
Kennen Sie kein Werkzeug, um genau das zu tun, was Sie möchten. Aber hier ist ein Stück Code, den ich häufig für die Ausgabe von HTML-formatierten farbigen Differenzen benutze: simplediff
Es ist in PHP und Python verfügbar. In der Ausgabe werden die Unterschiede mithilfe von <del>
- und <ins>
-Tags markiert, sodass Sie sie leicht mit CSS färben können.
Vielleicht möchten Sie das github-Projekt rmed überprüfen, das ein Befehlszeilentool enthält, das statische, gemeinsam benutzbare HTML-Diffs mit vimdiff generiert.
Ich habe ein Perl-Skript erstellt, um eine HTML-Tabelle für den Git-Diff zu generieren. Um dieses Skript zuerst verwenden zu können, müssen Sie den Unterschied mit git diff sha1s ...> diff.file sammeln und dann diff2html.pl diff.file ..__ ausführen.
http://kernel-demystified.com/forum/index.php/topic,23.msg28.html#new
wenn Sie git bash verwenden, müssen Sie, wenn Sie git show
verwenden, nur das kopieren, was in der Konsole angezeigt wird, und die Farben werden korrekt kopiert.