在实际提交之前检查将提交的内容

时间:2010-03-01 17:05:30

标签: version-control mercurial

我正在学习Mercurial,即使我安装了TortoiseHG,我发现自己越来越多地转向命令行了。

我经常想在实际运行之前检查给定hg命令的结果。是否有任何等同于我可以使用的PowerShell中已知的-whatif开关,或者您将如何使用给定的hg commit语句检查将要提交的内容?

2 个答案:

答案 0 :(得分:2)

-n开关或--dry-run开关通常会显示特定命令会发生什么。 commit没有-n切换,但您可以运行hg diff查看实际更改,或hg status查看每个文件的内容。

答案 1 :(得分:2)

当您提交时,您的消息编辑器将包含将在忽略的部分中提交的文件列表。如果您使用hg -m "message"提交,则无法跳过编辑器步骤:

HG: Enter commit message.  Lines beginning with 'HG:' are removed.
HG: Leave message empty to abort commit.
HG: --
HG: user: User <user@user.land>
HG: branch 'default'
HG: changed myfile.yxy

如果它包含您不想提交的文件,则可以使用hg commithg rollback撤消上次提交。只要您没有hg push到另一个存储库,rollback就会起作用。

状态使用与提交相同的模式。您可以使用hg status some/path/*然后hg commit some/path/*仅替换要使用的命令。