如何用默认分支区分一个分支

我切换到我的本地回购分支,并注意到它给我的消息显示 x 文件更新。这让我很吃惊,因为我不知道那根树枝上有什么不同。如何将该分支与默认分支进行比较,以查看发生了什么变化?

32067 次浏览

使用 hg diff -r BRANCH1:BRANCH2,其中 BRANCH1和 BRANCH2是分支的名称。这将向您显示两个分支的头部之间的差异。

您收到关于“ x 文件更新”的消息是因为在原始分支上有文件更改,而不一定是因为在另一个分支上有文件更改。Mercurial 显示了来自两个分支的更改文件集的联合。

要列出有差异的文件,请添加—— 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(-)

查看 otherbranch分支与当前分支的区别:

hg diff -r otherbranch