【发布时间】:2019-06-13 15:24:55
【问题描述】:
我在我的项目中做了一个简单的正则表达式查找和替换,它影响了大约 300 个文件,每个文件大多 2-5 行。此外,还有一些小的调整和手动更改来修复不规则的情况。
现在我想查看所有差异并使用一些比较工具比较每个更改(最好在比较 4 之外)。
我想出的最好办法是使用git diff > changes.diff,但这仍然是一个文档,我更喜欢并排查看。
有没有办法在一个比较窗口中查看所有差异?
P.S 我可能会解析 diff 文件并将 + 行放到一个文件中,将 - 行放到另一个文件中,但希望有一些自动供我使用。
编辑:
我不是在寻找一种使用 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");
【问题讨论】:
-
@phd 我已经更新了问题
-
@phd,这与在 git 的任何 gui 中查看未提交的更改相同,我仍然需要分别查看每个文件
-
Use sdiff 作为外部差异。
标签: git git-diff beyondcompare4