Git - некоторые файлы помечены как измененные, но «git diff» ничего не показывает - PullRequest
38 голосов
/ 19 мая 2011

Я совершенно новичок в Git, поэтому, может быть, я что-то здесь упускаю.

dan@one:/var/www/$ git status -s
M  GoogleChromeExtension.js
M  ApiClient.js

Итак, ясно, что 2 файла были изменены.
Но когда я запускаю:

git diff

вывод не отображается.Я ожидал получить изменения между моей рабочей копией и последним коммитом.

Я уверен, что вчера все работало как ожидалось ...

Может быть, потому что я не настаивализменения на удаленном сервере?

PS: я использую GitHub

Спасибо,
Дан

Ответы [ 4 ]

61 голосов
/ 19 мая 2011

Do a git diff --cached - он сравнивает HEAD и индекс, т.е. материал, добавленный для фиксации.

Просто git diff находится между индексом и рабочим каталогом, поэтому, если все изменения были подготовлены для фиксациивы не увидите ничего в git diff

Третья форма - git diff <commit>, которая сравнивает рабочий каталог и коммит.Таким образом, git diff HEAD также даст вам разницу, которую вы хотите.

4 голосов
/ 19 мая 2011

В зависимости от того, что именно происходит, может быть два решения. Было бы лучше, если бы вы не использовали короткий режим, поскольку он скрывает информацию, важную для отладки этого.

Если вы ожидаете изменений, попробуйте запустить git diff HEAD, чтобы сравнить рабочий каталог с последним коммитом. Если вы уже git add изменили изменения, действие git diff по умолчанию будет состоять в том, чтобы не отображать эти различия. См. Справочную страницу http://git -scm.com / docs / git-diff , в которой говорится об этом. Вывод git status (без -s) поможет всем понять, так ли это.

С другой стороны, если вы не ожидали изменений, это может быть проблемой ОС / файловой системы. Пожалуйста, сообщите информацию о вашей ОС и файловой системе.

1 голос
/ 29 августа 2013

Убедитесь, что вы на самом деле не находитесь в другом git-хранилище.И если по какой-то причине вышеприведенные команды не работают, попробуйте выполнить:

git show HEAD
0 голосов
/ 16 сентября 2016

Я только недавно столкнулся с этой проблемой и обнаружил, что это произошло, потому что я изменил свой файл .gitattributes для хранилища. Вы недавно изменили какой-либо из своих файлов .gitattributes? Все ли измененные файлы одного типа? Мои недавние проблемы, например, касались файлов * .sql. Когда я отменил изменение на .gitattributes, исходные файлы снова не изменились.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...