在单个压缩包中比较多个文件的差异 window

Compare diff of multiple files in a single compre window

我在我的项目中做了一个简单的正则表达式查找和替换,它影响了大约 300 个文件,大多数是每个文件 2-5 行。此外,还有一些小的调整和手动更改以修复不规则的大小写。

现在我想查看所有差异并使用一些比较工具(最好是 beyond compare 4)比较每个变化。

我想出的最好办法是使用 git diff > changes.diff 但这仍然是一个文档,我更喜欢并排查看。

有没有办法在一次比较中查看所有差异window?

P.S 我可能可以解析 diff 文件并将 + 行带到一个文件,将 - 行带到另一个文件,但希望有一些自动供我使用的东西。

编辑:

我不是在寻找一种使用 Beyond Compare 之类的工具来比较差异的方法。我想查看 所有 多个文件 一次 的更改作为并排比较。我不想一个一个地检查 300 多个文件并使用 BC 进行比较,而是我想打开一个包含所有更改的文件并将其与没有更改的同一文件进行比较。

例如,如果我有 2 个文件 test1.cpptest2.cpp 并且我执行 git diff 我会得到:

diff --git.....
--- a/file1.cpp
+++ b/file1.cpp
@@ ....
- foo("a", "b");
+ bar("a", "b");

--- a/file2.cpp
+++ b/file2.cpp
@@ ....
- foo("x", "y");
+ bar("x", "y");

我希望能够打开 BC 并看到类似的内容(在单个 tab/window 中):

--- a/file1.cpp     |    +++ b/file1.cpp
foo("a", "b");      |    bar("a", "b");
                    | 
--- a/file2.cpp     |    +++ b/file2.cpp
foo("x", "y");      |    bar("x", "y");

您可以获取存储库的副本,然后将您的更改存储在副本中。之后,您可以在任何 diff 工具中比较这两个文件夹,例如 beyond compare 等。

要使用 Beyond Compare 将所有文件差异输出到单个文件:

  1. 运行 无可比拟。
  2. 打开文件夹比较并加载一对文件夹。
  3. Select 个您要比较的文件。
  4. 操作 > 文件比较报告。
  5. Select 与报表布局并排。
  6. 将输出选项设置为 HTML 报告或纯文本。

一次循环浏览一个文件的差异:

  1. 运行 无可比拟。
  2. 打开文件夹比较。
  3. 加载一对文件夹。
  4. 双击文件夹比较中的第一对文件以在文本比较中显示它们的内容。
  5. 使用“搜索”>“下一个差异”(Control+N) 循环浏览当前文件中的差异。
  6. 使用“搜索”>“下一个差异文件”(Control+M) 循环到下一个文件。