GIT bash не распознает изменения в файле .classpath через git diff

Я использовал командную строку GIT GNU bash в качестве клиента GIT, чтобы проверить мой проект Java, над которым я работал в Eclipse.

В рамках работы я изменил некоторые настройки сборки проекта, которые в Eclipse записываются в скрытый (.dot) файл с именем «.classpath» в корневой директории проекта.

По какой-то причине git diff отказался признать изменение:

user@HOST MINGW64 /c/_GIT/myserver (BRANCH1)
$ git diff .classpath

<==== crickets. Empty output!!!!

Однако я мог видеть, что файл изменился с недавней отметкой времени (и мог доказать, что он изменился, явно выполнив git commit и отправив изменение):

user@HOST MINGW64 /c/_GIT/myserver (BRANCH1)
$ git commit -m "remove test" .classpath

[BRANCH1 bd4c1c5] remove test
 1 file changed, 28 insertions(+)
 create mode 100644 .classpath

user@HOST MINGW64 /c/_GIT/myserver (BRANCH1)
$ git push
Counting objects: 3, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 610 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 0 (delta 0)
remote: Simple Bitbucket Commit Checker
remote: Create pull request for BRANCH1:
remote:   http://GIT_URL....
remote:
To http://GIT_URL....
   77981fe..bd4c1c5  BRANCH1 -> BRANCH1

GNU bash, версия 4.3.46(2)-выпуск (x86_64-pc-msys)


person DVK    schedule 14.02.2017    source источник


Ответы (1)


git diff без каких-либо параметров или аргументов показывает изменение между вашим рабочим деревом и индексом. Скорее всего, ваши изменения были подготовлены для фиксации (через git add). Вы можете запустить git status, чтобы убедиться в этом. Чтобы увидеть такие изменения (то есть разницу между индексом и HEAD), вы должны были запустить git diff --staged.

person Leon    schedule 14.02.2017