2

我在本地计算机上创建了一个新的存储库,添加了文件并提交,在我的工作副本中为我提供了以下结构:

-/a     
-/b

我想将我的初始提交推送到 Bitbucket 上的远程存储库。但是,我想忽略目录b,以免它被推送。我添加了

syntax:
glob b/**

到我的.hgignore档案。无论如何,该b目录都会被推送。

我怎样才能防止这种情况?

4

2 回答 2

5

这不能在 Mercurial 中完成:您不能只推送文件的初始版本,然后忽略以后的修改。你也不能推送变更集的一部分——你要么推送整个变更集,要么不推送。通过这种方式,Mercurial 可确保您在所有克隆中拥有项目的一致快照。

Preet is correct when he writes that the .hgignore file is a filter for untracked files. The .hgignore file is used to filter the output of commands like hg status and to filter the files added by running hg add with no further arguments.

于 2012-03-29T07:16:09.400 回答
1

补充.hgignore

^b/.*

或者b/*如果您使用的是劣质glob语法(正则表达式为您提供更多控制)。

语法在第一行定义,所有规则都在后面的单独行中定义。

如果你想要通配符,第一行是syntax: glob,如果是正则表达式,第一行是syntax: regexp(默认隐含)。请参阅文档

请注意,mercurial 实际上并不推送空目录,因此您能够测试它的唯一方法是如果您有一个文件b/

于 2012-03-29T03:52:55.230 回答