防止在mercurial中推送目录



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

-/a     
-/b

我想把我的初始提交推送到Bitbucket上的远程存储库。但是,我想忽略目录b,这样它就不会被推送。我添加了

syntax:
glob b/**

到我的.hgignore文件。b目录无论如何都会被推送。

我该如何防止这种情况发生?

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

Preet在写.hgignore文件是未跟踪文件的过滤器时是正确的。.hgignore文件用于过滤hg status等命令的输出,并过滤通过运行hg add添加的文件,而不需要其他参数。

.hgignore中添加:

^b/.*

或者b/*,如果您使用的是较差的glob语法(regex为您提供了更多的控制)。

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

如果您想要globbing,第一行将是syntax: glob,如果是regex,第一行则是syntax: regexp(默认情况下隐含)。请参阅文档。

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

相关内容

  • 没有找到相关文章

最新更新