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 显示帮助并退出