Подтвердить что ты не робот

Цветной Git diff для HTML

Мне нравится использовать git diff --color-words, чтобы четко видеть слова, которые были изменены в файле:

Screenshot

Однако я хочу поделиться этим различием с кем-то без git или цветового терминала. Знает ли кто-нибудь о инструменте или трюке, который может преобразовать цветной экранированный вывод терминала в HTML?

4b9b3361

Ответ 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, вам нужно всего лишь скопировать и вставить то, что показано на консоли, и оно правильно копирует цвета.