Цветной Git diff в HTML


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

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

7 58

7 ответов:

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/.

загрузите 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

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

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

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

Если вы хотите увидеть clean diffs С соответствие сходства линий, лучше сравнение слов,подсветка синтаксиса и diff2html что очень настраиваемые git diff в HTML presenter.

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

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

Проверьте образец diff здесь.

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

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

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

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