mercurial 中是否有一个命令可以列出当前处于源代码控制之下的所有文件?
我可以dir /s
列出我的文件夹和子文件夹中的所有文件,但我不知道哪些文件已添加到我的存储库中。我有多种排除的文件类型和文件夹,我想在我的 .hgignore 文件中设置它们之前验证它们都没有被添加。
hg status --all
将列出树中的所有文件,并用一个字母指示其状态:M 表示已修改,C 表示干净(归 hg 拥有),I 表示忽略。
对于刚刚忽略的文件,请使用hg status -i
. 对于将在下一次提交时添加hg status -a
的文件,请使用. 这些仅显示您需要了解的内容,不需要扫描长文件列表。
您也可以查看该hg locate
命令。-I
当我想将文件限制到某个目录时,我使用它以及该选项。
要列出存储库中的所有文件:
hg locate
从存储库(“根”)目录:
hg locate -I dir/sub_dir/dir_of_interest
传递给的路径-I
需要根据运行命令的目录进行更改。如果您从dir
上面示例中的目录运行命令,则需要修改您的参数以定位:
hg locate -I sub_dir/dir_of_interest
输出文件列表将保持不变,显示存储库中每个文件的完整路径。
尝试hg help -v locate
了解更多信息。
hg manifest
将仅列出存储库中的文件,而hg status --all
将列出存储库结构中的所有文件,并包含一个标记,哪些正在被跟踪,哪些没有。
要仅列出忽略的文件,请执行以下操作:hg status -i
.
对于刚刚添加的文件,请执行hg status -a
.
如果您不太喜欢打字,可以将它们缩短为hg sta -i
和hg sta -a
。
这两种用法status
比 更简单,locate
并且会为您提供您关心的特定文件状态,因此它明显不易出错。
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
如果只想列出文件夹中的文件,可以提供路径:
hg st --all MyFolder
– MyFolder 中的所有文件hg sta -i MyFolder
– 只是忽略了 MyFolder 中的文件。除了-i
“忽略”和-a
“添加”之外,其他标志可用于仅列出具有特定状态的文件。
help
在此处阅读其他非常有用的答案,以全面了解该status
命令。它投了反对票,因为作者试图表明你可以通过向Mercurial 询问status
这样的命令来发现上述所有内容:
hg help status
你可以让 Mercurial 告诉你它的任何这样的命令。如果您想要 Mercurial 的命令列表,请键入hg help
.
C:\>hg 帮助 -v 状态 hg 状态 [选项]... [文件]... 别名:st 在工作目录中显示更改的文件 显示存储库中文件的状态。如果给出名称,则只有文件 该匹配显示。干净或被忽略的文件或 复制/移动操作,除非 -c/--clean,-i/--ignored,否则不会列出, -C/--copies 或 -A/--all 给出。除非选项用“显示 只有 ..." 给出,选项 -mardu 被使用。 选项 -q/--quiet 隐藏未跟踪(未知和忽略)的文件,除非 使用 -u/--unknown 或 -i/--ignored 明确请求。 注意:如果权限已更改,status 可能看起来与 diff 不一致 或发生了合并。标准diff格式不报告 权限更改和差异仅报告相对于一个合并的更改 父母。 如果给出了一个修订版,则将其用作基础修订版。如果两个 给出了修订,显示了它们之间的差异。改变 选项也可以用作列出已更改文件的快捷方式 从它的第一个父母修订。 用于显示文件状态的代码是: M = 修改 A = 添加 R = 移除 C = 干净 != 缺失(被非 hg 命令删除,但仍被跟踪) ? = 未跟踪 我 = 忽略 = 列为 A 的上一个文件的来源(已添加) 选项: -A --all 显示所有文件的状态 -m --modified 只显示修改过的文件 -a --added 只显示添加的文件 -r --removed 仅显示已删除的文件 -d --deleted 仅显示已删除(但已跟踪)的文件 -c --clean 只显示没有更改的文件 -u --unknown 仅显示未知(未跟踪)文件 -i --ignored 只显示被忽略的文件 -n --no-status 隐藏状态前缀 -C --copies 显示复制文件的来源 -0 --print0 以 NUL 结束文件名,用于 xargs --rev 显示与修订版本的差异 --change 列出一个修订版本的更改文件 -I --include 包含与给定模式匹配的名称 -X --exclude 排除匹配给定模式的名称 全局选项: -R --repository 存储库根目录或覆盖包文件的名称 --cwd 更改工作目录 -y --noninteractive 不提示,假设任何需要的答案为“是” -q --quiet 抑制输出 -v --verbose 启用附加输出 --config 设置/覆盖配置选项(使用'section.name=value') --debug 启用调试输出 --debugger 启动调试器 --encoding 设置字符集编码(默认:cp1252) --encodingmode 设置字符集编码模式(默认:严格) --traceback 总是在异常时打印回溯 --time time 命令需要多长时间 --profile 打印命令执行配置文件 --version 输出版本信息并退出 -h --help 显示帮助并退出