Git Diff output to file сохранить окраску

Возможно ли использовать git diff, сохранить выход в файл с раскраской каким-то образом?

Я знаю, как git diff > filename.rtf - который сохраняется в файле, но я хотел бы сохранить раскраску.

Ответ 1

Try:

git diff --color > foo.txt

Ответ 2

Откройте выходной файл diff в SublimeText2, он отобразит цвета diff.

Ответ 3

Vim красит файлы, содержащие git diff красиво.

git diff

Ответ 4

Чтобы расширить ответ на @Gabe.

Вы можете передать вывод в ansi-html-конвертер bash script и направить этот вывод в html файл:

git diff --color|./ansi2html.sh > changes.html

Конечно html может быть просмотрен любым браузером, поэтому вывод может быть прочитан в Windows и т.д.

ansi2html код здесь: http://www.pixelbeat.org/scripts/ansi2html.sh

Ответ 5

Сохраните файл с расширением .diff и откройте его в Notepad ++.

git diff > 20150203_someChanges.diff

Спасибо @Monsingor

Ответ 6

Я нашел ответ здесь: Вывод цвета определенной команды git.

Вы можете передать -c color.ui=always в любую команду git, и она сохранит окраску при перенаправлении. Например: git -c color.ui=always status > file

Ответ 7

git remote add -f b path/to/repo_b.git
git remote update
git diff master remotes/b/master > foo.txt

Различия, извлеченные в файлах *.txt, легко читаются SublimeText2 без необходимости устанавливать (через View → Syntax → Diff).

Ответ 8

Вы можете загрузить в GitHub и предоставить ссылку на соответствующую фиксацию.