除非明确指定文件名,否则使Mercurial不提交任何内容

pma*_*v99 2 mercurial commit

根据Mercurial的提交帮助信息:

If a list of files is omitted, all changes reported by "hg status" will be
committed.
Run Code Online (Sandbox Code Playgroud)

有没有简单的方法来改变这种行为?

除非明确指定文件,否则我希望Mercurial不提交任何更改.

编辑

我在Linux上,我正在使用命令行.

Ida*_*n K 5

这似乎可以解决问题:

$ hg commit -X *  
nothing changed
Run Code Online (Sandbox Code Playgroud)

它不会执行任何操作,因为所有文件都被排除在外,但如果您提供任何文件,则会包含这些文件.

你可以别名它:

[别名]
xcommit = commit -X*

然后:

$ hg status
M a
M b
$ hg xcommit -m 'no files specified'
nothing changed
$ hg xcommit -m 'picking a' a
$ hg status
M b
Run Code Online (Sandbox Code Playgroud)

就个人而言,我不想习惯这种类型的工作流程.它通常很容易:

  • 以较小的块工作,以便您的更改反映单个变更集
  • 在你忘记并且正在进行编码狂欢的时候,使用类似的东西 hg record
  • 对于上述两个不适合的极少数情况,请使用-I/-X该单个提交