【问题标题】:How do I run a directory compare operation from TortoiseGit?如何从 TortoiseGit 运行目录比较操作?
【发布时间】:2015-09-16 16:58:01
【问题描述】:

差异程序 BeyondCompare 具有目录比较功能,您可以在其中选择两个文件夹,并让它对这些文件夹中具有相同文件名的所有文件进行并排比较,然后查看它标记的单个文件显示差异。 TortoiseSVN 有一种方法可以在目录的两个版本或旧版本和工作副本之间运行此目录比较,这有时真的很棒。

不幸的是,并非所有内容都在 SVN 中。我有一个 Git 版本的项目,其中包含一个包含 100 多个自动生成文件的大文件夹。它们最近重新生成了,TortoiseGit 告诉我它们中的每一个都已更改。但是,当我对其中一些进行比较时,我看到的只是无害且不相关的空白更改。那里的某处可能存在很少的更改并非不可能,但我宁愿不必手动检查每一个更改。

有什么方法可以让 TortoiseGit 为我发送一个与 BC 比较的目录,这样我就可以让它将旧版本与我的工作副本进行比较,同时忽略空格(它可以做到这一点),然后我可以确定此文件夹中是否有任何相关更改,或者我是否可以恢复整个内容?

【问题讨论】:

    标签: git compare tortoisegit beyondcompare


    【解决方案1】:

    我遇到了同样的问题。不幸的是,正如 Yue Lin Ho 所说,TortoiseGit 没有直接在 GUI 中提供此功能。然而,如果你有 TortoiseGit,你已经安装了一些命令行 Git 版本。因此,您可以从命令行调用 BeyondCompare。

    以下说明假设您拥有 Git 2.2.0 或更高版本

    首先,您必须将 BC 设置为您的差异工具:

      git config --global merge.tool bc
      git config --global mergetool.bc.path "c:/Program Files (x86)/Beyond Compare 4/bcomp.exe"
    

    (请注意,显示的是默认的 Windows 路径。例如,如果使用不同的操作系统或者如果您在 Windows 上安装了便携式版本的 BC,则路径可能会有所不同。请确保使用您的副本的实际路径公元前)

    然后您可以通过在 Git 项目的文件夹中运行以下命令来调用 Git 中的 BC 文件夹比较:

    git difftool --dir-diff
    

    【讨论】:

      【解决方案2】:

      与 BC/外部差异工具相比,无法发送目录。

      但是,您仍然可以在 TortoiseGit 中比较一个目录的两次提交/修订,并且有一些“忽略”选项:

      【讨论】:

        【解决方案3】:

        您可以尝试另一种方法进行临时结帐:

        将旧版本签出到新目录。 然后使用Beyond compare的标准文件夹比较将新目录与工作目录进行比较。

        您可以define unimportant text 过滤不相关的空白更改。

        当您完成比较后,您可以删除旧版本的目录。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-12-15
          • 2022-12-03
          • 2013-08-25
          • 2012-03-10
          • 1970-01-01
          • 2020-01-28
          相关资源
          最近更新 更多