为什么' git diff branch1 branch2'不能从repo root工作?

时间:2018-04-02 15:48:18

标签: git

我可以看到来自' git diff branch1 branch2'的预期输出。当我从repos根目录以外的任何其他文件夹运行它时。如果我从根运行此命令,我会收到以下错误

致命:含糊不清的争论'捕获':修订版和文件名 使用' - '将路径与修订分开,如下所示: ' git [...] - [...]'

为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

您似乎可能同时拥有一个文件,分支或标记共享相同的名称。您可以指定由..分隔的分支而不是空格来消除歧义。在git diff的上下文中,..和空格意味着同样的事情。

所以而不是:

git diff branch1 branch2

执行:

git diff branch1..branch2

有关此语法的更多信息,请访问man gitrevisions

您也可以使用第一种语法,以--结尾,表示之前没有路径:

git diff branch1 branch2 --

要指定文件名而不将其解释为分支名称,请使用帮助消息中建议的路径分隔符--

示例:

git diff branch1..branch2 -- file1
相关问题