Показать результат исправлений по символам
Я переработал текст с помощью AI для улучшения, а он вернул, как мне показалось, практически идентичную копию. Решил детально разобраться, что именно изменилось. Обычная утилита diff
показала, что строка изменилась, но вручную сравнивать символы не хотелось. Быстрый поиск подсказал, что можно использовать git-diff
для этих целей. В качестве примера, конечно же, приведу другой текст, чтобы просто продемонстрировать, как это работает.
Сравнение файлов вне репозитория
Чтобы сравнить два файла, которые не проиндексированы и не находятся в репозитории, с помощью git-diff
, нужно добавить ключ --no-index
:
git diff --no-index orig.txt fix.txt
Результат будет выглядеть так:
diff --git 1/orig.txt 2/fix.txt
index d16ca67..cffa233 100644
--- 1/orig.txt
+++ 2/fix.txt
@@ -1 +1 @@
-Это просто пример текста, который надо исправить. Я пишу как привык писать обычно. Мне не сложно написать большой текст, но надо в него вложить какую-то мысль. А самое сложное, как раз, придумать эту мысль. А это просто текст для проверки того как работает этот сервис. Что же, проверим и сравним результат на этом простом тексте.
+Это просто пример текста, который нужно исправить. Я пишу так, как привык писать обычно. Мне не сложно написать большой текст, но нужно вложить в него какую-то мысль. А самое сложное, как раз, придумать эту мысль. А это просто текст для проверки того, как работает этот сервис. Что же, проверим и сравним результат на этом простом тексте.
Результат не отличается от обычного diff
, изменилась целая строка без конкретных указаний.
Подкрашивание изменившихся слов
Для точного указания изменений нужно использовать ключ --word-diff-regex=.
, который возвращает изменения в машиночитаемом формате:
git diff --no-index --word-diff-regex=. orig.txt fix.txt
Результат представлен на изображении для наглядности, так как встроенная подсветка синтаксиса не поддерживает этот формат:
Если требуется просто визуальное отображение изменений без специального форматирования, можно использовать ключ --color-words=.
:
git diff --no-index --color-words=. orig.txt fix.txt
Результат также представлен на изображении, чтобы было видно, что возвращается в терминал: