Git - некоторые файлы отмечены как измененные, но 'Git diff' ничего не показывает
Я новичок в Git, поэтому, возможно, я что-то пропустил.
[email protected]:/var/www/$ git status -s
M GoogleChromeExtension.js
M ApiClient.js
Таким образом, было изменено 2 файла.
Но когда я запускаю:
git diff
не отображается вывод. Я ожидал получить изменения между моей рабочей копией и последней фиксацией.
Я уверен, что вчера все работало, ожидая...
Возможно, потому, что я не нажимал изменения на удаленном сервере?
P.S.: Я использую GitHub
Спасибо,
Dan
Ответы
Ответ 1
Сделайте git diff --cached
- он сравнивает HEAD и индекс, то есть материал, добавленный для фиксации.
Просто указатель git diff
находится между индексом и рабочим каталогом, поэтому, если все изменения были поставлены для фиксации, вы выиграли "увидеть что-нибудь в git diff
Третья форма git diff <commit>
, которая сравнивает рабочий каталог и фиксацию. Таким образом, git diff HEAD
также предоставит вам diff, который вам тоже нужен.
Ответ 2
В зависимости от того, что происходит, могут быть два решения. Было бы лучше, если бы вы не использовали короткий режим, поскольку он скрывает важную для отладки информацию.
Если вы ожидаете изменений, попробуйте запустить git diff HEAD
, чтобы сравнить рабочий каталог с последним фиксатором. Если у вас уже есть git add
ed изменения, по умолчанию действие git diff будет состоять в том, чтобы не показывать эти различия. См. http://git-scm.com/docs/git-diff справочная страница ОПИСАНИЕ, в которой говорится об этом. Выход git status
(без -s) поможет всем понять, так ли это.
В качестве альтернативы, если вы не ожидали изменений, это может быть проблема с ОС/файловой системой. Сообщайте информацию о своей ОС и файловой системе.
Ответ 3
Убедитесь, что вы не находитесь в другом репозитории git.
И если по какой-то причине команды выше не работают, попробуйте запустить:
git show HEAD
Ответ 4
У меня недавно была эта проблема, и я обнаружил, что это произошло, потому что я изменил свой файл .gitattributes для репозитория. Вы недавно изменили какой-либо из ваших файлов .gitattributes? Все ли файлы, которые были изменены одного типа? Например, мои недавние проблемы затрагивали файлы *.sql. Когда я отключил изменение в .gitattributes, исходные файлы снова изменились.