【问题标题】:git difftool gives errorgit difftool 给出错误
【发布时间】:2016-08-29 19:39:41
【问题描述】:

我想区分 2 个分支之间的特定文件。我看到有一个difftool。但我试过了,我没有成功。我有一个名为 abc.cpp 的文件和 2 个远程分支,分别是 May_Version 和 June_Version,我的文件位于文件夹 /xyz/tools 中。我试过了

git difftool origin/May_Version:xyz/tools/abc.cpp -- June_Version:xyz/tools/abc.cpp

使用上面的命令会出现以下错误

致命:错误的修订版 'May_Version:xyz/tools/abc.cpp'

我试过了

origin/May_Version:xyz/tools/abc.cpp June_Version:xyz/tools/abc.cpp

致命:May_Version 中不存在路径“xyz/tools/abc/cpp”。

谁能告诉我正确的语法?

【问题讨论】:

  • abc/cpp 还是abc.cpp
  • 文件名为abc.cpp
  • 你误用了命令选项,试试git difftool origin/May_Version June_Version -- xyz/tools/abc.cpp,请确保你的$PWD是xyz的父文件夹。

标签: git difftool


【解决方案1】:

你应该可以使用语法

git difftool {local branch} {remote branch} [*optional* filename]

例如:

git difftool June_Version origin/May_Version

或者如果只是区分特定文件

git difftool June_Version origin/May_Version xyz/tools/abc.cpp

【讨论】:

  • 我试过 git difftool June_Version origin/May_Version xyz/tools/abc.cpp 它说致命:模糊参数 xyz/tools/abc.cpp: unknown revision or path not in the working tree。使用 -- 将路径与修订分开,如下所示:
  • 如果我使用 -- 来分隔路径,它不会做任何事情。
  • 这可能是当前签出分支的问题。您可能需要检查是否 git branch 用星号将当前分支标记为当前分支。如果没有,您可以尝试在分支 git reset --hard > from stackoverflow.com/questions/15628720/… 上进行重置
【解决方案2】:

在您的存储库中本地执行此操作。不需要origin/

git difftool --dir-diff June_Version May_Version

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 2013-03-12
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多