Подтвердить что ты не робот

Git команда diff, показывающая весь файл, изменена, а не отображается модифицированная небольшая часть кода

Я использую репозиторий git. Все работает нормально, кроме команды git diff. Всякий раз, когда я изменяю какой-либо файл, команда git diff, показывающая весь файл, изменяется, хотя я модифицировал небольшую часть кода.

В чем может быть причина git diff, показывающая полный файл, измененный вместо небольшой части кода? Также дайте мне знать настройку конфигурации git diff.

diff --git a/application/routes.php b/application/routes.php
index 2842f8d..6629d16 100755
--- a/application/routes.php
+++ b/application/routes.php @@ -1,671 +1,676 @@ -<?php -/** - * Set the routes. Each route must have a minimum of a name, a URI and a set of - * defaults for the URI. - / -?> +<?php +/* + * Set the routes. Each route must have a minimum of a name, a URI and a set of + * defaults for the URI. + */ +?>
4b9b3361

Ответ 1

Сравните выходные данные git diff и git diff -b. Пробелы могут быть виноваты. Переполняющий текст может быть другим (вы не указали, что вы храните).

Ответ 2

Файл хранится в режиме unix или в режиме Windows (с разными окончаниями строк), а при сохранении файла вы сохраняете его в противоположном формате.

Ответ 3

Установлен ли ваш редактор для автоматического форматирования кода? Может ли это быть файл, используемый для использования вкладок для отступов, и вы изменили его на использование пробелов, например?

Ответ 4

Попробуйте выполнить эту команду. Это отлично работает для меня:

git diff -U0 Filename | grep -v "diff\|index\|@@\|+++\|\---"

Эта команда в основном удаляет строки, содержащие "diff", "index", "---", "+++", "@@" с использованием команды "grep -v" и -U0 удаляет лишние строки, показанные выше, и ниже измененных строк.

Попробуйте это для файла с одной строкой, вы поймете это лучше:)

Ответ 5

Попробуйте проверить кодировку файлов. Похоже, что файлы с одинаковым содержимым, но с разными кодировками отмечены как совершенно разные.