Ответ 1
Способ хранения файлов внутри репозитория Git не имеет отношения к тому, как они обрабатываются при отображении. Таким образом, программа git diff
, когда ее попросили сравнить два файла, сначала получает как полные файлы из репозитория, так и запускает с ними разностный алгоритм.
Обычно git diff
ищет непечатаемые символы в файлах, и если он выглядит так, как файл, скорее всего, является двоичным файлом, он отказывается показать разницу. Обоснованием для этого является различие двоичных файлов, вероятно, не будет читаемым человеком и, вероятно, испортит ваш терминал, если будет отображаться.
Однако вы можете указать git diff
всегда обрабатывать файлы как текст с помощью параметра --text
. Вы можете указать это для одной команды diff
:
git diff --text HEAD HEAD^ file.txt
Вы можете сделать Git всегда использовать этот параметр, настроив .gitattributes
файл, который содержит:
file.txt diff
Атрибут diff
здесь означает:
Путь, к которому установлен атрибут
diff
, обрабатывается как текст, даже если они содержат значения байтов, которые обычно не отображаются в текстовых файлах, например, NUL.