Отслеживает ли процесс моего редактирования?
Нет.
Проверяется наличие изменений путем сравнения кэшированной версии (хранится в папке .git).и текущая версия.
Оставляет ли vim какие-то специальные файлы для git для его достижения?
Нет
... Откуда git узнал, что я изменил эту строку, а не делал удаление и вставку?
Короче говоря, он проверяет сходство, а также различия в двух файлах, используя алгоритм, которыйотвечает на самую длинную общую последовательность подпоследовательностей .Важно знать, что diff
- это не только команда, представленная в git
- это также команда Linux / Unix .
Существует множество алгоритмов, которые можно использовать для поиска различий между двумя файлами, таких как Алгоритм Ханта-Макилроя и алгоритм сравнения Майера.
Вместо того, чтобы искатьконкретный ответ для git diff
, я предлагаю вам вместо этого взглянуть на два вышеупомянутых алгоритма.
См. этот вопрос для получения более подробной информации: Алгоритм сравнения Майерса против алгоритма Ханта-Макилроя