Почему git diff не работает в командной строке для меня?

каждая часть документации, которую я прочитал на git (включая онлайн-книгу и встроенную справку), говорит, что я могу ввести "git diff" из командной строки, но всякий раз, когда я это делаю, я получаю:

usage: git diff [--no-index] <path> <path>

вот что я пытался до сих пор (все примеры из документации):

$ git diff
usage: git diff [--no-index] <path> <path>

$ git diff HEAD
usage: git diff [--no-index] <path> <path>

$ git diff --
usage: git diff [--no-index] <path> <path>

$ git diff -- .
usage: git diff [--no-index] <path> <path>

$ git diff --stat
usage: git diff [--no-index] <path> <path>

$ git --version
git version 1.7.1

Я что-то пропустил?

3 ответов


вы на самом деле внутри каталога с репозиторием Git, когда вы их запускаете? (git rev-parse --git-dir) команда должна иметь возможность найти репозиторий и определить, что такое ваше рабочее дерево, чтобы получить полезный результат. В противном случае (если репозиторий не может быть идентифицирован) он по умолчанию является простой командой recursive-diff и нуждается в двух путях для работы.


использовать git diff --no-index. The [] означает, что аргумент является необязательным.


вы работаете в репозитории git? Если вы делаете статус git, вы получаете что-то близкое к следующему?

> $ git status
> # On branch develop.new_feature
> # Changed but not updated:
> #   (use "git add <file>..." to update what will be committed)
> #
> # modified:   feature
> # modified:   www/jkll.jsp
> #
> # Untracked files:
> #   (use "git add <file>..." to include            ...