我切换到我的本地回购分支,并注意到它给我的消息显示 x 文件更新。这让我很吃惊,因为我不知道那根树枝上有什么不同。如何将该分支与默认分支进行比较,以查看发生了什么变化?
使用 hg diff -r BRANCH1:BRANCH2,其中 BRANCH1和 BRANCH2是分支的名称。这将向您显示两个分支的头部之间的差异。
hg diff -r 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分支与当前分支的区别:
otherbranch
hg diff -r otherbranch