2

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

现在我想查看所有差异并使用一些比较工具比较每个更改(最好在比较 4 之外)。

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

有没有办法在一个比较窗口中查看所有差异?

PS我可能会解析差异文件并将+行带到一个文件并将-行带到另一个文件,但希望有一些自动供我使用。

编辑:

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

例如,如果我有 2 个文件test1.cpp并且test2.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 并看到类似的内容(在单个选项卡/窗口中):

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

2 回答 2

2

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

  1. 超越比较。
  2. 打开文件夹比较并加载一对文件夹。
  3. 选择要比较的文件。
  4. 操作 > 文件比较报告。
  5. 选择并排作为报表布局。
  6. 将输出选项设置为 HTML 报告或纯文本。

一次循环浏览一个文件:

  1. 超越比较。
  2. 打开文件夹比较。
  3. 加载一对文件夹。
  4. 双击文件夹比较中的第一对文件以在文本比较中显示它们的内容。
  5. 使用搜索 > 下一个差异 (Control+N) 循环浏览当前文件中的差异。
  6. 使用搜索 > 下一个差异文件 (Control+M) 循环到下一个文件。
于 2019-01-21T21:24:25.943 回答
1

您可以获取 repo 的副本,然后将更改存储在副本中。之后,您可以在任何差异工具中比较两个文件夹,例如超越比较等。

于 2019-01-19T17:36:06.953 回答