我认为这是一个配置错误,但我无法弄清楚在哪里.常规git命令似乎工作正常,但"git diff"什么都不做.为了安全起见,我从.gitconfig文件中删除了外部diff工具.这是通过MacPorts安装的,是lates版本(1.7.2.2).
我看到的是,当我从我的工作区运行"git diff"时,它只是退出,什么都不做.
$ git --version
git version 1.7.2.2
$ git diff
$
Run Code Online (Sandbox Code Playgroud)
如果我备份一个目录,在我的根工作空间之外,输入"git diff"给我这个:
$ git diff
usage: git diff [--no-index] <path> <path>
Run Code Online (Sandbox Code Playgroud)
这可能是预期的行为,因为我不在git存储库下.
关于我可以做些什么来解决这个问题的任何想法?
Dou*_*las 102
默认输出git diff
是尚未提交/添加到索引的更改列表.如果没有变化,则没有输出.
git diff [--options] [ - ] [...]
此表单用于查看您对索引所做的更改(下一次提交的暂存区域).换句话说,差异是你可以告诉git进一步添加到索引但你还没有.
有关详细信息,请参阅文档.特别是,向下滚动到示例,并阅读本节:
$ git diff # (1)
$ git diff --cached # (2)
$ git diff HEAD # (3)
Run Code Online (Sandbox Code Playgroud)
在您的工作区之外,正如您所猜测的那样,git将不知道要区分什么,因此您必须明确指定两个要比较的路径,因此使用消息.