Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Version control Mercurial:如何从被忽略的文件夹添加文件?_Version Control_Mercurial_Hgignore - Fatal编程技术网

Version control Mercurial:如何从被忽略的文件夹添加文件?

Version control Mercurial:如何从被忽略的文件夹添加文件?,version-control,mercurial,hgignore,Version Control,Mercurial,Hgignore,我在文件.hgignore中添加了一个文件夹,因此忽略了其中的文件(及其子目录中的文件)。但是,我只是在忽略文件夹的一个子目录中添加了一个文件。如何将该文件添加到跟踪文件列表中 我想这是使用GUI进行版本控制的缺点之一。我使用的是SourceTree,很少直接接触Hg命令(尽管我启用了在执行命令时显示命令的选项,并观察Hg在后台执行的操作)。我尝试用谷歌搜索该问题,但找不到任何相关结果。您需要编辑存储库的“.hgignore”文件,并指定要忽略除此文件之外的目录树。例如,如果您具有以下结构: └

我在文件
.hgignore
中添加了一个文件夹,因此忽略了其中的文件(及其子目录中的文件)。但是,我只是在忽略文件夹的一个子目录中添加了一个文件。如何将该文件添加到跟踪文件列表中


我想这是使用GUI进行版本控制的缺点之一。我使用的是
SourceTree
,很少直接接触
Hg
命令(尽管我启用了在执行命令时显示命令的选项,并观察
Hg
在后台执行的操作)。我尝试用谷歌搜索该问题,但找不到任何相关结果。

您需要编辑存储库的“
.hgignore
”文件,并指定要忽略除此文件之外的目录树。例如,如果您具有以下结构:

└── a
    ├── b.txt
    └── c.txt
您希望忽略所有内容,但不忽略“
c.txt
”,然后根据
.hgignore
文件内容,您可以:

没有任何
.hgignore
文件:

$ hg status
? a/b.txt
? a/c.txt
$ cat .hgignore 
syntax: regexp
^a/(?!c.txt).*
$ hg status
? .hgignore
? a/c.txt
在“
a
”下有一行可以忽略所有内容:

另一行忽略“
a
”下的所有内容,但不忽略“
c.txt
”文件:


希望能有所帮助。

您需要编辑存储库的“
.hgignore
”文件,并指定除此文件外,您希望忽略目录树。例如,如果您具有以下结构:

└── a
    ├── b.txt
    └── c.txt
您希望忽略所有内容,但不忽略“
c.txt
”,然后根据
.hgignore
文件内容,您可以:

没有任何
.hgignore
文件:

$ hg status
? a/b.txt
? a/c.txt
$ cat .hgignore 
syntax: regexp
^a/(?!c.txt).*
$ hg status
? .hgignore
? a/c.txt
在“
a
”下有一行可以忽略所有内容:

另一行忽略“
a
”下的所有内容,但不忽略“
c.txt
”文件:


希望能有所帮助。

只需显式添加一个被忽略的文件,就可以单独跟踪该文件。从
.hgignore
手册页:

可以使用hgaddx显式添加未跟踪的文件X,即使X会被.hgignore中的模式排除

您添加此文件的明确意图假定会覆盖
.hgignore
中的首选项


.hgignore
的主要目的是在添加整个目录时不包含被忽略的文件。

只需显式添加被忽略的文件,即可单独跟踪被忽略的文件。从
.hgignore
手册页:

可以使用hgaddx显式添加未跟踪的文件X,即使X会被.hgignore中的模式排除

您添加此文件的明确意图假定会覆盖
.hgignore
中的首选项


.hgignore
的主要目的是在添加整个目录时不包含被忽略的文件。

这是善意的,但完全是过火了。正如Reimer指出的,添加文件会覆盖其被忽略的状态。在.hgignore中使用带负前瞻模式的零从来都不是必要的,也很少是一个好主意。这是善意的,但完全是矫枉过正。正如Reimer指出的,添加文件会覆盖其被忽略的状态。在.hgignore中使用带有负前瞻模式的零从来都不是必要的,也很少是一个好主意。