2011-02-06 2 views
6

Я знаю, что git diff --word-diff=color показывает слово diff между рабочим деревом и HEAD, но есть ли способ получить тот же вид вывода с git log?Можете ли вы получить слово-diff с `git log`?

+0

какая версия мерзавец вы используете? В версии 1.5.5.6 'git diff -color-words rev1..rev2' дает только ожидаемый цветной выход. Если я попробую 'git diff -word-diff = color rev1..rev2', он показывает использование git-diff. – yasouser

+0

Возможно, вам придется написать небольшой скрипт - сделайте 'git log' таким образом, чтобы он просто печатал SHA1, затем перебирал эти SHA1 и делал' git diff -word-diff = color $ SHA1^$ SHA1 '. Тогда, конечно, вы можете присвоить псевдоним git. – MatrixFrog

ответ

9

Что относительно --color-words? Кроме того, вы каким-то образом должны активировать diff.

git log --color-words -p 

показывает меня как цветное различие.

+0

Это выводит строку diff, а не слово diff – dan

+0

На 1.7.1 и с моими настройками (ничего не связано с различиями, кроме, может быть, 'color.ui = auto' выводит слово diff.) Конечно, только когда ваш источник содержит слово различия (= различия меньше целых добавленных/удаленных строк). –

+0

OK это делает работа. – dan

1

Хорошо, я думаю, что я получил это работает с

git log -m -p --word-diff=plain 
+0

Это дает мне ошибку: 'fatal: unrecognized argument: -word-diff = plain'. Какова ваша версия git ('git -version')? –

+0

git версия 1.7.3.2. Но в моем linux-окне, который в настоящее время имеет 1.7.0.4, я получаю ту же ошибку. – dan

+0

Похоже, что они добавили поддержку '-word-diff' в' git log' между этими версиями (что имеет смысл, поскольку опция уже была доступна для 'git diff'). –

Смежные вопросы