我切换到本地 repo 上的一个分支,并注意到它给了我显示 x 个文件已更新的消息。这让我感到惊讶,因为我不知道那个分支有什么不同。如何将该分支与默认分支进行比较以查看发生了什么变化?
问问题
31168 次
3 回答
110
使用hg diff -r BRANCH1:BRANCH2
,其中 BRANCH1 和 BRANCH2 是分支的名称。这将向您展示两个分支的负责人之间的差异。
您收到有关“x files updated”的消息是因为原始分支上的文件已更改,不一定是因为另一个分支上的文件已更改。Mercurial 向您显示来自两个分支的更改文件集的联合。
于 2012-04-24T14:32:00.920 回答
6
要仅列出具有差异的文件,请添加 --stat 选项:
hg diff --stat -r BRANCH1:BRANCH2
这给出了这样的输出:
mypath/file1.cpp | 1 -
mypath/file2.cpp | 143 ++++++++++
mypath/file3.cpp | 18 +-
3 files changed, 160 insertions(+), 2 deletions(-)
或者稍微清理一下输出,通过 sed 将其通过管道删除管道符号之后的所有内容:
hg diff --stat -r BRANCH1:BRANCH2 | sed "s/|.*$//g"
这只会为您提供已更改文件的列表和最后的摘要行:
mypath/file1.cpp
mypath/file2.cpp
mypath/file3.cpp
3 files changed, 160 insertions(+), 2 deletions(-)
于 2018-06-14T01:54:51.470 回答
1
要查看otherbranch
与当前分支的分支差异:
hg diff -r otherbranch
于 2018-07-27T15:29:36.200 回答