Mercurial:如何从被忽略的文件夹中添加文件?
Mercurial: How to add a file from an ignored folder?
我在文件 .hgignore
中添加了一个文件夹,因此其中的文件(及其子目录中的文件)将被忽略。但是,我只是将一个文件添加到忽略文件夹的子目录之一。如何将该文件添加到跟踪文件列表?
我想这是使用 GUI 进行版本控制的缺点之一。我正在使用 SourceTree
并且很少直接接触到 Hg
命令(尽管我已经启用了在执行命令时显示命令的选项并观察 Hg
在后台执行的操作) .我尝试用谷歌搜索这个问题,但找不到任何相关结果。
您需要编辑存储库的“.hgignore
”文件并指定您希望忽略除此文件以外的目录树。例如,如果您具有以下结构:
└── a
├── b.txt
└── c.txt
并且您想忽略除 而不是 “c.txt
” 之外的所有内容,然后根据 .hgignore
文件内容,您可以拥有:
没有任何 .hgignore
文件:
$ hg status
? a/b.txt
? a/c.txt
用一行忽略“a
”下的所有内容:
$ cat .hgignore
syntax: regexp
^a/
$ hg status
? .hgignore
并用另一行忽略“a
”下的所有内容,但不是“c.txt
”文件:
$ cat .hgignore
syntax: regexp
^a/(?!c.txt).*
$ hg status
? .hgignore
? a/c.txt
希望对您有所帮助。
您可以通过显式添加来单独跟踪被忽略的文件。来自 .hgignore
手册页:
An untracked file X can be explicitly added with hg add X, even if X would be excluded by a pattern in .hgignore.
您添加此文件的明确意图被假定为覆盖您在 .hgignore
中的首选项。
.hgignore
的主要目的是在添加整个目录时不包含忽略的文件。
我在文件 .hgignore
中添加了一个文件夹,因此其中的文件(及其子目录中的文件)将被忽略。但是,我只是将一个文件添加到忽略文件夹的子目录之一。如何将该文件添加到跟踪文件列表?
我想这是使用 GUI 进行版本控制的缺点之一。我正在使用 SourceTree
并且很少直接接触到 Hg
命令(尽管我已经启用了在执行命令时显示命令的选项并观察 Hg
在后台执行的操作) .我尝试用谷歌搜索这个问题,但找不到任何相关结果。
您需要编辑存储库的“.hgignore
”文件并指定您希望忽略除此文件以外的目录树。例如,如果您具有以下结构:
└── a
├── b.txt
└── c.txt
并且您想忽略除 而不是 “c.txt
” 之外的所有内容,然后根据 .hgignore
文件内容,您可以拥有:
没有任何 .hgignore
文件:
$ hg status
? a/b.txt
? a/c.txt
用一行忽略“a
”下的所有内容:
$ cat .hgignore
syntax: regexp
^a/
$ hg status
? .hgignore
并用另一行忽略“a
”下的所有内容,但不是“c.txt
”文件:
$ cat .hgignore
syntax: regexp
^a/(?!c.txt).*
$ hg status
? .hgignore
? a/c.txt
希望对您有所帮助。
您可以通过显式添加来单独跟踪被忽略的文件。来自 .hgignore
手册页:
An untracked file X can be explicitly added with hg add X, even if X would be excluded by a pattern in .hgignore.
您添加此文件的明确意图被假定为覆盖您在 .hgignore
中的首选项。
.hgignore
的主要目的是在添加整个目录时不包含忽略的文件。