我可以看到来自' git diff branch1 branch2'的预期输出。当我从repos根目录以外的任何其他文件夹运行它时。如果我从根运行此命令,我会收到以下错误
致命:含糊不清的争论'捕获':修订版和文件名 使用' - '将路径与修订分开,如下所示: ' git [...] - [...]'
为什么这不起作用?
答案 0 :(得分:0)
您似乎可能同时拥有一个文件,分支或标记共享相同的名称。您可以指定由..
分隔的分支而不是空格来消除歧义。在git diff
的上下文中,..
和空格意味着同样的事情。
所以而不是:
git diff branch1 branch2
执行:
git diff branch1..branch2
有关此语法的更多信息,请访问man gitrevisions。
您也可以使用第一种语法,以--
结尾,表示之前没有路径:
git diff branch1 branch2 --
要指定文件名而不将其解释为分支名称,请使用帮助消息中建议的路径分隔符--
。
示例:
git diff branch1..branch2 -- file1