如何使用 .hgignore 仅排除二进制文件?

发布于 2024-12-04 15:22:15 字数 416 浏览 2 评论 0原文

我有一个目录 data-files-dir ,其中包含具有以下扩展名的文件:

# binary types
.dat
.dat.gz
.csv

# script files
.bat
.yaml

我想排除包含我不想存储在 Mercurial 中的 GB 数据的二进制文件。

但我想让 Mercurial 录制脚本文件。

到目前为止,我能做的最好的事情就是使用这个 .hgignore 文件排除整个目录:

syntax: glob
data-files-dir/**

但我无法再从 Mercurial 中排除这些脚本文件。

如何让 Mercurial 跟踪脚本文件而不是二进制文件?

I have a directory data-files-dir containing files with the following extensions:

# binary types
.dat
.dat.gz
.csv

# script files
.bat
.yaml

I want to exclude the binary files which contain gigabytes worth of data that I don't want stored in Mercurial.

But I want to have the script files recorded by Mercurial.

So far the best I could do is the exclude the entire directory using this .hgignore file:

syntax: glob
data-files-dir/**

But I can no longer afford to exclude these script files from Mercurial.

How do I have Mercurial track the script files but not the binary files?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

清晰传感 2024-12-11 15:22:15

修改hgignore中指定的示例,下面的不起作用吗?

syntax: glob
*.dat
*.dat.gz
*.csv

Modifying the example specified in hgignore, does the following not work?

syntax: glob
*.dat
*.dat.gz
*.csv
情何以堪。 2024-12-11 15:22:15

您可以使用正则表达式语法忽略这些文件,以使其更加简洁。以下示例 .hgignore 文件同时使用 globregexp 语法。 glob 条目忽略 bin 和 obj 目录下的所有内容。 regexp 项会忽略 data-files-dir 下以括号中列出的扩展名结尾的所有文件。

syntax:glob
bin/**
obj/**

sytnax:regexp
data-files-dir/.+\.(dat|gz|csv)

You can ignore the files using regexp syntax to be more concise. The following example .hgignore file uses both glob and regexp syntax. The glob entries ignore everything under the bin and obj directories. The regexp item ignores all files under the data-files-dir that end with the extensions listed in the parenthesis.

syntax:glob
bin/**
obj/**

sytnax:regexp
data-files-dir/.+\.(dat|gz|csv)
爱她像谁 2024-12-11 15:22:15

如果您希望忽略的文件都在 data-files-dir 目录中,那么您可以将以下内容添加到 .hgignore 文件中:

glob:data-files-dir/*.dat
glob:data-files-dir/*.gz
glob:data-files-dir/*.csv

这将忽略这些文件扩展名仅在 data-files-dir 目录中。我刚刚尝试了一个快速测试,它似乎对我有用:

C:\ignoretest>dir /b data-files-dir
batch.bat
binary1.dat
binary2.dat
binary2.gz
C:\ignoretest>hg st
? .hgignore
? data-files-dir\batch.bat

因此,任何 .dat.gz.csv 文件都会被忽略以上在我的 .hgignore 文件中。

If the files you wish to ignore are all in the data-files-dir directory, then you can add the following to your .hgignore file:

glob:data-files-dir/*.dat
glob:data-files-dir/*.gz
glob:data-files-dir/*.csv

This will ignore those file extensions only in the data-files-dir directory. I just tried a quick test, and it seems to work for me:

C:\ignoretest>dir /b data-files-dir
batch.bat
binary1.dat
binary2.dat
binary2.gz
C:\ignoretest>hg st
? .hgignore
? data-files-dir\batch.bat

So any .dat, .gz or .csv file is ignored with the above in my .hgignore file.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文