在单个compre窗口中比较多个文件的差异

时间:2019-01-19 17:30:23

标签: git git-diff beyondcompare4

我在我的项目中进行了一个简单的正则表达式查找和替换,该项目影响了约300个文件,每个文件大多数使用2-5行。此外,还进行了一些小的调整和手动更改,以解决不规则的情况。

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

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

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

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

编辑:

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

例如,如果我有两个文件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并看到类似的内容(在单个标签/窗口中):

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

使用超越比较将所有文件差异输出到单个文件:

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

要一次浏览一个文件中的差异:

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