如何在Mercurial(hg)中列出存储库中的所有文件?
在mercurial中有一个命令将列出当前在源代码pipe理下的所有文件吗?
我可以做一个dir /s
列出我的文件夹和子文件夹中的所有文件,但我不知道哪些已被添加到我的存储库。 我有各种排除的文件types和文件夹,我想validation,他们都没有添加之前,我在.hgignore文件中设置它们。
hg status --all
所有的文件都会列在树上,用字母表示它的状态:M表示修改,C表示干净(由hg拥有),I表示忽略。
对于只是被忽略的文件,使用hg status -i
。 对于将在下一次提交中添加的文件,请使用hg status -a
。 这些只显示你需要知道的,不需要扫描长文件列表。
您也可以查看hg locate
命令。 我使用它,以及-I
选项,当我想限制文件到一个特定的目录。
要列出存储库中的所有文件:
hg locate
从存储库(“root”)目录中:
hg locate -I dir/sub_dir/dir_of_interest
传递给-I
的path需要根据运行命令的目录进行更改。 如果你在上面的例子中从dir
目录运行命令,你需要修改你的参数来find:
hg locate -I sub_dir/dir_of_interest
输出文件的列表将保持不变,显示存储库中每个文件的完整path。
试试hg help -v locate
更多的信息。
hg manifest
将仅列出存储库中的文件,而hg status --all
将列出存储库结构中的所有文件,并包括正被跟踪的标记和不包含的标记。
仅列出被忽略或添加的文件
要只列出被忽略的文件,请执行: hg status -i
。
对于刚刚添加的文件,请执行hg status -a
。
如果你不喜欢打字的话,可以把这些缩短到hg sta -i
和hg sta -a
。
这两个status
使用比locate
更简单,并会给你你所关心的特定文件状态,所以它明显less出错。
更多关于hg status
要列出mercurial repo中的所有文件,请执行以下操作: hg status --all
。
列出的文件将在它们之前被赋予一个前缀:
M = modified A = added R = removed C = clean ! = missing (deleted by non-hg command, but still tracked) ? = not tracked I = ignored
如果只想列出文件夹中的文件 ,则可以提供一个path:
-
hg st --all MyFolder
–hg st --all MyFolder
所有文件 -
hg sta -i MyFolder
– 只是忽略MyFolder中的文件。
除了-i
代表“被忽略”和-a
代表“已添加”以外,还有其他标志可以列出具有特定状态的文件。
获得help
请阅读其他非常有用的答案,以便全面了解status
命令。 因为作者试图certificate你可以通过向 Mercurial询问这样的status
命令来发现上面的所有内容:
hg help status
你可以要求Mercurial告诉你任何这样的命令。 如果你想要一个Mercurial的命令列表,然后inputhg help
。
C:\> hg help -v status hg status [OPTION] ... [FILE] ... 别名:st 在工作目录中显示更改的文件 显示存储库中文件的状态。 如果给出名字,只有文件 显示匹配。 干净或被忽略的文件或者 复制/移动操作,除非-c / - 清除,-i / - 忽略,否则不列出, -C / - 副本或-A / - 全部给出。 除非选项用“show 只有...“,使用选项-mardu。 选项-q / - 安静隐藏未跟踪(未知和忽略)的文件,除非 明确要求-u / - 未知或-i / - 忽略。 注意:如果权限已经改变,状态可能会与diff不一致 或发生合并。 标准差异格式不报告 权限更改和差异只报告相对于一个合并的更改 家长。 如果给出了一个修订版本,则将其用作基本修订版本。 如果两个 给出修订,显示它们之间的差异。 改变 选项也可以作为快捷方式来列出已更改的文件 从其第一个家长修订。 用于显示文件状态的代码是: M =修改 A =已添加 R =删除 C =干净 ! =丢失(由非hg命令删除,但仍然被跟踪) ? =未跟踪 我忽略了 =上一个文件的来源列为A(已添加) 选项: -A - 显示所有文件的状态 -m - 修改只显示修改过的文件 -a - 添加显示只添加文件 -r --removed仅显示已删除的文件 -d --deleted仅显示已删除(但已跟踪)的文件 -c - 清除仅显示没有更改的文件 -u - 未知只显示未知(未跟踪)的文件 -i --ignored只显示被忽略的文件 -n - 无状态隐藏状态前缀 -C-拷贝显示复制文件的来源 -0 --print0用NUL结束文件名,用于xargs --rev显示与修订的区别 - 更改列表修改的文件 -I - 包含匹配给定模式的名称 -X - 排除与给定模式匹配的排除名称 全球select: -R - 存储库的根目录或覆盖包文件的名称 --cwd改变工作目录 -y - 非交互不提示,对于任何需要的答案都假设为“是” -q - 静止压缩输出 -v --verbose启用附加输出 --config set / override config选项(使用'section.name = value') --debug启用debugging输出 --debugger启动debugging器 --encoding设置字符集编码(默认:cp1252) --encodingmode设置字符编码模式(默认:严格) --traceback总是在exception情况下打印回溯 - 时间命令需要多长时间 --profile打印命令执行configuration文件 - 版本输出版本信息并退出 -h - 帮助显示帮助并退出