hg remove -I PATTERN,它是如何工作的?

发布于 2024-12-14 08:36:01 字数 290 浏览 1 评论 0原文

如何删除 Mercurial 中的所有 *.bak 或 *.orig 文件?

例子:

C:\dev\web>hg stat
? Views\System\UnderConstruction.cshtml.bak
? Views\Topic\Index.cshtml.bak
? Views\Topic\MasterPage.cshtml.bak
? Web.config.bak

C:\dev\web>hg rem -I *.bak
abort: no files specified

Ho to remove all *.bak or *.orig files in mercurial?

example:

C:\dev\web>hg stat
? Views\System\UnderConstruction.cshtml.bak
? Views\Topic\Index.cshtml.bak
? Views\Topic\MasterPage.cshtml.bak
? Web.config.bak

C:\dev\web>hg rem -I *.bak
abort: no files specified

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

筱武穆 2024-12-21 08:36:01

hg remove 仅删除已提交的文件。 AFAIK,mercurial 中没有命令可以删除未跟踪的文件。

要了解文件模式在 Mercurial 中的工作原理,请运行 hg helppatterns

hg remove only removes files that have already been committed. AFAIK, there is no command in mercurial to remove untracked files.

To learn how file patterns work in mercurial, run hg help patterns.

拿命拼未来 2024-12-21 08:36:01
  1. 未跟踪的文件(“?”符号)可以由操作系统删除,而不是 Mercurial
  2. 您必须按原样保留文件,只需将模式添加到 .hgignore 中,其后的文件、匹配的模式将不会出现在 hg status
  3. 正确删除跟踪的 bak 和 orig 文件的删除命令将是hg remove -I **.bak -I **.orig
  1. Untracked files ("?" sign) can be removed by OS, not Mercurial
  2. You have to leave files as is, just add patterns to .hgignore and after it files, matching patterns, will not apper in hg status anymore
  3. Correct remove command for remove tracked bak and orig files will be hg remove -I **.bak -I **.orig
神魇的王 2024-12-21 08:36:01

您应该查看 hg purge 扩展:

删除 Mercurial 未知的文件。这对于测试本地和
干净的源代码树中未提交的更改。

这意味着清除将删除:

  • 未知文件:标有“?”的文件通过“汞状态”
  • 空目录:事实上,Mercurial 会忽略目录,除非它们包含受源代码控制管理的文件

但它不会受到影响:

  • 已修改和未修改的跟踪文件
  • 忽略文件(除非指定了 --all)
  • 添加到存储库的新文件(使用“hg add”)

如果在命令行上给出目录,则仅显示这些目录中的文件
考虑目录。

清除时要小心,因为您可能会不可逆转地删除一些您想要删除的文件。
忘记添加到存储库。如果您只想打印列表
该程序要删除的文件,请使用 --print 选项。

You should take a look at the hg purge extension:

Delete files not known to Mercurial. This is useful to test local and
uncommitted changes in an otherwise-clean source tree.

This means that purge will delete:

  • Unknown files: files marked with "?" by "hg status"
  • Empty directories: in fact Mercurial ignores directories unless they contain files under source control management

But it will leave untouched:

  • Modified and unmodified tracked files
  • Ignored files (unless --all is specified)
  • New files added to the repository (with "hg add")

If directories are given on the command line, only files in these
directories are considered.

Be careful with purge, as you could irreversibly delete some files you
forgot to add to the repository. If you only want to print the list of
files that this program would delete, use the --print option.

强者自强 2024-12-21 08:36:01

您可以执行以下两个命令:

D:\workspace>hg purge -I **/*.orig --all

然后:

D:\workspace>hg purge -I **/*.bak --all

跟踪的文件不会被删除,但我猜这对您来说不是问题。确保在运行之前启用清除扩展,并且可以使用 --print 参数进行空运行。

You can do the following two commands:

D:\workspace>hg purge -I **/*.orig --all

and then:

D:\workspace>hg purge -I **/*.bak --all

Tracked files won't be deleted, but I'm guessing that's not an issue for you. Make sure that you enable the purge extension before running this, and you can do dry runs with the --print argument.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文