Цветной Git diff для HTML
Мне нравится использовать git diff --color-words
, чтобы четко видеть слова, которые были изменены в файле:
![Screenshot]()
Однако я хочу поделиться этим различием с кем-то без git или цветового терминала. Знает ли кто-нибудь о инструменте или трюке, который может преобразовать цветной экранированный вывод терминала в HTML?
Ответы
Ответ 1
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
Мне действительно нужен был ANSI для конвертера HTML. И я нашел очень приличный вариант на http://www.pixelbeat.org/.
ПРИМЕЧАНИЕ. Вы можете не видеть окраску, если вы не включили --color
или --color-words
, возможно, из-за того, что piping вызывает git diff, чтобы исключить цвета.
ПРИМЕЧАНИЕ 2. Вам может потребоваться установить gnu sed и awk, особенно если вы находитесь на Mac. Сделайте это с помощью brew install gnu-sed gawk
. Возможно, вам также придется добавить их на свой путь вручную, например. с ln -s /usr/local/Cellar/gnu-sed/4.2.2/bin/gsed /usr/local/bin/
.
Ответ 2
скачать diff2html, извлечь его и преобразовать diff в html с помощью этой команды:
$ diff2html file1.txt file2.txt > diff-demo1.htm
Существует больше... взгляните на этот вопрос.
Или после gitting:
git diff --color-words --no-index orig.txt /tmp/edited.txt > myfile
загрузите оба ansifilter из это местоположение. и используйте эту команду для преобразования myfile в формат html
ansifilter -i myfile -H -o myfile2.html
так... это именно то, что вы хотите;)
Ответ 3
Не знаю, какой инструмент нужно делать именно так, как вы хотите. Но здесь фрагмент кода, который я часто использую для вывода html-форматированного цветного diff: simplediff
Он доступен в PHP и Python. Выходные теги отличаются от тегов <del>
и <ins>
, поэтому вы можете легко их раскрасить с помощью CSS.
Ответ 4
Если вы хотите видеть чистое различие с сходством строк, лучшее сравнение слов, подсветка синтаксиса и подробнее diff2html, который очень настраиваемый git diff для HTML-презентатора.
Чтобы использовать его в командной строке, вы можете проверить diff2html-cli, который является простым CLI, написанным в Node.js.
Итак, вы можете поделиться своими различиями с коллегами, которые он интегрирует с diffy.org.
Ознакомьтесь с образцом diff здесь.
Ответ 5
Я создал perl script для генерации таблицы html для git diff. Чтобы использовать этот script, сначала вам нужно собрать diff с помощью git diff sha1s... > diff.file, затем запустите diff2html.pl diff.file.
Посещение:
http://kernel-demystified.com/forum/index.php/topic,23.msg28.html#new
Ответ 6
Вы можете проверить проект github rmed, который предоставляет инструмент командной строки, который генерирует статические общие html diffs с помощью vimdiff.
Ответ 7
когда я использую git bash, если вы используете git show
, вам нужно всего лишь скопировать и вставить то, что показано на консоли, и оно правильно копирует цвета.