hg 从存储库中删除目录?
我想从存储库中删除一个目录及其中的所有文件。
我已使用 hg remove
删除了所有文件,但如何删除目录本身?
一旦我提交所有删除的文件,它会自动消失吗?
I'd like to remove a directory and all the files in it from a repo.
I have removed all the files with hg remove
, but how do I remove the directory itself?
Will it just automatically vanish once I commit all the removed files?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的。因为 Mercurial 根本不跟踪目录,只跟踪文件,所以它只创建其中包含文件的目录,并且如果有人
hg 更新
到某个修订版,则任何变空的目录都会自动删除。因此,如果您这样做:最后一次更新将删除该目录。对于其他人来说,这甚至更容易。当他们
hg update
到您的新更改时,他们的目录就会消失(前提是其中没有未提交的文件)。Yes. Because mercurial doesn't track directories at all, only files, it only creates directories that have files in them, and if someone
hg updates
to a revision any directories that become empty are automatically removed. So if you do:That last update would remove the directory. For everyone else it's even easier. When they
hg update
to your new changes their directory will just vanish (provided they have no uncommitted file in it).如果您最终得到空目录并且想要删除它们,一个简单的方法是清除扩展。 (在 .hrgc 文件中的[extensions]组下添加purge=以解锁)。
然后,您可以用来
清理空目录...您必须小心使用 purge 命令,因为它会删除存储库中未跟踪的所有内容。我强烈建议您预先运行 a
以查看该命令将执行什么操作( -p 将打印“测试运行”而不执行任何操作。)永远不要忘记 --help 选项! ;)
编辑:我更喜欢连续使用 purge 来 hg update,因为如果 IDE 打开,更新触发器会在 IDE 中重建(当我这样做时,这是一个不错的选择)。 hg purge 可能会更顺利。您也可以使用 --all 来包含被忽略的文件(但必须小心)。
If you end up with empty directories and you want to get rid of them, an easy way is the purge extension. (add purge= under the [extensions] group in your .hrgc file to unlock).
You can then use
to clean up the empty dirs... You must be careful with the purge command as it removes everything that is untracked in your repos. I strongly suggest you run a
beforehand to see what the command will do ( -p will print a "test run" without doing anything.) Never forget the --help option! ;)
edit: I prefer using purge to hg update in succession as updating triggers rebuilds in my IDE if it is open (and it's a good bet it is when I do that). hg purge will probably be smoother. And you can use --all to include ignored files too (must be careful though).
要删除目录,只需执行
此操作即可删除该目录及其下的所有文件。
To remove a directory, Just do
This will remove the directory and all files under it.