Mercurial中是否有一条命令会列出当前受源代码控制的所有文件?
我可以dir /s列出所有文件夹和子文件夹中的文件,但是我不知道已将其添加到存储库中。我有各种排除的文件类型和文件夹,我想在.hgignore文件中进行设置之前确认没有添加任何文件和文件夹。
Answers:
hg status --all 将列出树中的所有文件,并用字母表示其状态:M表示修改,C表示清理(归hg拥有),I表示忽略。
对于只是被忽略的文件,请使用hg status -i。对于仅在下次提交时添加的文件,请使用hg status -a。这些仅显示您需要了解的内容,不需要扫描较长的文件列表。
hg st -A是上述命令的缩写形式。
                    hg status -c仅列出所有跟踪的文件。进行其他更改,hg status -carmd将达到目的。添加-n以排除状态标志。
                    您也可以签出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 loc是上述命令的缩写形式。
                    hg locate,可以使用以下命令自动获取当前目录hg locate -I `pwd`。
                    hg locate。hg status -i将仅列出被忽略的文件。hg status -a将仅列出那些将由提交添加的内容。随着hg locate有用户错误的调和你,你所期望的列表,请参阅列表中的相当大的风险。hg locate在任何/所有修订版本中搜索特定文件名的地方都非常有用。同样,hg grep还将搜索所有/所有修订版本中的所有文件内容。
                    要仅列出被忽略的文件,请执行:hg status -i。
对于刚刚添加的文件,请执行hg status -a。
如果您不想输入太多内容,可以将其缩短为hg sta -i和hg sta -a。
的这两种用法status比更为简单,locate并且将为您提供您所关注的特定文件状态,因此错误发生的可能性大大降低。
hg status要列出商品回购中的所有文件,请执行以下操作: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:\>汞帮助-v状态
汞状态[OPTION] ... [FILE] ...
别名:st
在工作目录中显示更改的文件
    显示存储库中文件的状态。如果给出名称,则仅文件
    显示该匹配项。干净或忽略的文件或文件的来源
    复制/移动操作,除非-c /-clean,-i /-忽略,
    -C /-副本或-A /-全部给出。除非用“显示”描述的选项
    仅给出...”,使用选项-mardu。
    选项-q /-quiet隐藏未跟踪(未知和忽略)的文件,除非
    使用-u /-unknown或-i /-ignore显式请求。
    注意:如果权限已更改,状态可能似乎与diff不同
    或发生合并。标准差异格式不报告
    权限更改和差异仅报告相对于一次合并的更改
    父母
    如果给出一个修订,则将其用作基本修订。如果两个
    给出了修订,并显示了它们之间的差异。改变
    选项还可以用作列出已更改文件的快捷方式
    从其第一父级修订。
    用于显示文件状态的代码为:
      M =修改
      A =已添加
      R =已移除
      C =干净
      !=丢失(由非hg命令删除,但仍被跟踪)
      ?=未追踪
      我=被忽略
        =列为A的前一个文件的来源(已添加)
选项:
 -A --all显示所有文件的状态
 -m --modified只显示已修改的文件
 -a --add仅显示已添加的文件
 -r --removed仅显示已删除的文件
 -d --deleted仅显示已删除(但已跟踪)的文件
 -c --clean仅显示未更改的文件
 -u --unknown仅显示未知(未跟踪)文件
 -i --ignored仅显示忽略的文件
 -n --no-status隐藏状态前缀
 -C-副本显示复制文件的源
 -0 --print0带有NUL的结尾文件名,用于xargs
    --rev显示与修订版本的差异
    --change列出修订的已更改文件
 -I-包括与给定模式匹配的名称
 -X-排除与给定模式匹配的名称
全局选项:
 -R --repository存储库根目录或覆盖捆绑文件的名称
    --cwd更改工作目录
 -y --noninteractive不提示,对于任何需要的答案均假设为“是”
 -q-安静抑制输出
 -v --verbose启用附加输出
    --config设置/覆盖配置选项(使用'section.name = value')
    --debug启用调试输出
    --debugger启动调试器
    --encoding设置字符集编码(默认值:cp1252)
    --encodingmode设置字符集编码模式(默认值:严格)
    --traceback总是在出现异常时显示回溯
    --time时间命令花费的时间
    --profile打印命令执行配置文件
    --version输出版本信息并退出
 -h --help显示帮助并退出
    --help/ /?/man和其他文件,因为它是更快地问计算器上比读什么书?我拒绝删除我的回答:)
                    status,因为其中一个hg命令实际上首先会执行此操作。我每天都使用Mercurial,但我不知道它可能会被要求显示被忽略的文件。
                    --all)甚至不在屏幕上(您必须滚动才能看到它)。而且您实际上在任何地方都没有提供实际的语言来实现目标。总体而言,不是很有帮助。为了进行比较,Benjohn首先给出所需的命令,然后提供解释。