Я предполагаю, что это где-то ошибка конфигурации, но я не могу понять, где. Обычные команды git работают нормально, но git diff ничего не делает. На всякий случай я удалил внешние инструменты сравнения из моего файла .gitconfig. Он был установлен через MacPorts и является последней версией (1.7.2.2).
Я вижу, что когда я запускаю "git diff" из своей рабочей области, он просто закрывается, ничего не делая.
$ git --version
git version 1.7.2.2
$ git diff
$
Если я создаю резервную копию одного каталога из моей корневой рабочей области, набрав «git diff», я получу следующее:
$ git diff
usage: git diff [--no-index] <path> <path>
Это может быть ожидаемым поведением, поскольку я не нахожусь в репозитории git.
Есть идеи, что я могу сделать, чтобы решить эту проблему?
git diff
вне репо скоро станет более ясным. Смотрите мой ответ нижеОтветы:
По умолчанию выводится
git diff
список изменений, которые не были зафиксированы / добавлены в индекс. Если нет изменений, значит, нет вывода.Смотрите документацию для более подробной информации. В частности, прокрутите вниз до примеров и прочтите этот раздел:
Вне вашего рабочего пространства, как вы догадались, git не знает, что сравнивать, поэтому вам нужно явно указать два пути для сравнения, отсюда и сообщение об использовании.
источник
Примечание: начиная с git 1.8.5 или 1.9, 4 квартал 2013 г . :
Увидеть:
git diff --no-index
может действовать как обычный (не git)diff
.источник
Он ничего не делает, если ваш рабочий каталог чистый и нет отличий от последнего обновления. Попробуйте отредактировать файл, а затем снова запустите git diff, и тогда он должен показать разницу.
источник
Если вы используете его вне реального репозитория или рабочей копии, его поведение идентично GNU diff. Таким образом, вам нужно сообщить 2 каталога или файла для сравнения. Пример:
git diff old_dir new_dir
.Если между ними есть какая-либо разница, результат покажет вам, как и ожидалось.
источник
Не в вашем случае, но, возможно, потому, что переданный вами файл не существует
ничего не случилось
источник