Странное поведение в GIT diff HEAD - PullRequest
1 голос
/ 22 августа 2011

Я нахожусь под Windows и использую GIT строго локально, в качестве системы резервного копирования.

У меня есть все мое рабочее пространство Eclipse.

Поиск в сети, я обнаружил, что мне нужно сделать это:

Display changes since last commit:
$ git diff HEAD

Я пытаюсь понять, что именно делает цель какого-то maven-плагина. Поэтому я фиксирую все свои изменения. Затем я запускаю команду maven. Затем я иду в каталог проекта, который находится в каталоге рабочей области, и запускаю

git diff HEAD

Затем он показывает мне изменения для всего рабочего пространства, когда фактически ничего не изменилось, кроме как в этом каталоге. Если я перенаправлю его в файл, его размер будет 157 МБ!

Но если я поднимусь на один каталог вверх, вернусь в рабочую область и сделаю то же самое, то это только покажет мне изменение в каталоге проекта. Что я и ожидал.

Итак, мои вопросы:

1) Почему, если я захожу в подкаталог, он показывает изменения, произошедшие в родительском каталоге?

2) Когда действительно есть только одно это изменение, где оно получает 157M изменений?

1 Ответ

1 голос
/ 22 августа 2011

Вызов git diff без аргумента пути в любом месте репозитория git покажет вам различия для всего репозитория, а не только для текущего каталога (это отличается от поведения Subversion).

Если вы получаете разные выходные данные из git diff HEAD в разных каталогах, это означает, что вы переходите в другой репозиторий (или вы на самом деле не запускаете точную ту же команду).

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