如何检查hg pull中哪些文件和内容已更改

use*_*542 1 version-control mercurial

我在默认分支上.

然后我用了 hg pull -u

然后我明白了

searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Run Code Online (Sandbox Code Playgroud)

现在我想知道更新了哪些文件以及更新了该文件中的更新内容

Ry4*_*ase 6

这就是为什么hg pull不使用它更好的原因hg pull -u.如果你使用了首选hg pull你的会话将如下所示:

$ hg pull
searching for changes
adding changesets
adding manifests
adding file changes
added 3 changesets with 3 changes to 1 files

$ hg diff default  # this shows you exactly what you want to see

$ hg update
1 files updated, 0 files merged, 0 files removed, 0 files unresolved
Run Code Online (Sandbox Code Playgroud)

关键在于,如果你将新的变更集拉到你的存储库中但是不更新工作目录中的文件,那么你可以hg diff default比较当前工作目录的文件(也就是拉动前的文件)和新的文件.拉后的默认值.如果您喜欢这些更改,那么您可以将它们应用到本地文件中hg update.

也就是说,在这种特殊情况下,因为你知道你有3个变更集,并且因为它们可能是线性的,你可以这样做:

hg diff --rev -4
Run Code Online (Sandbox Code Playgroud)

它表示将我当前的修订版(现在是你更新后的头部)与修订版3比较(-1是最后一个).但打破-u习惯.更新存储库和工作目录是完全不同的操作,最好分开完成.