it-swarm.com.ru

Цветной Git diff в HTML

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

Screenshot

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

58
hendry
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, возможно, из-за того, что конвейерная обработка заставляет 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/.

80
hendry

скачайте diff2html, распакуйте его и преобразуйте diff в html с помощью этой команды:

$ diff2html file1.txt file2.txt > diff-demo1.htm

Есть еще ... взглянуть на это вопрос.

Или после получения:

git diff --color-words --no-index orig.txt /tmp/edited.txt > myfile

загрузите оба ансифильтра из этого местоположения. и используйте эту команду для преобразования myfile в формат html

ansifilter -i myfile -H -o myfile2.html

так что ... это именно то, что вы хотите;)

11
Michel Gokan

Если вы хотите увидеть clean diff с совпадением строк, лучше сравнение слов, подсветка синтаксиса и многое другое, посмотрите diff2html , который очень настраиваемый) git diff для HTML-презентации.

Чтобы использовать его в командной строке, вы можете проверить diff2html-cli , который является простым CLI, написанным на Node.js.

Таким образом, вы можете поделиться своими различиями с коллегами, которые интегрируются с diffy.org .

Проверьте образец сравнения здесь .

3
rtfpessoa

Не знаю, какой инструмент делать именно то, что вы хотите. Но вот фрагмент кода, который я часто использую для вывода цветного diff в формате html: simplediff

Он доступен в PHP и Python. Выходные данные помечают различия с помощью тегов <del> и <ins>, поэтому их можно легко раскрасить с помощью CSS.

3
slebetman

Возможно, вы захотите проверить проект github rmed , который предоставляет инструмент командной строки, который генерирует статические разделяемые HTML-различия с использованием vimdiff.

1
rouble

Я создал скрипт Perl для генерации html-таблицы для git diff. Чтобы использовать этот сценарий, сначала вы должны собрать diff с помощью git diff sha1s ...> diff.file, а затем запустить diff2html.pl diff.file .

http://kernel-demystified.com/forum/index.php/topic,23.msg28.html#new

1
Samir Das

когда я использую git bash, если вы используете git show, вам нужно только скопировать и вставить то, что показано в консоли, и оно правильно копирует цвета. 

0