现在我已经和Mercurial达成了一个回顾。忘记与hg remove
结合的遗忘文件。这是疯狂和低音的。一旦您确定遗忘文件中的某些内容没有忘记,您可以使用hg remove
,因为在创建原始仓库之前跟踪了相关项目。请注意hg remove
有效地清除了跟踪状态,但它还会在从您的仓库获得更改的任何内容中安排删除文件。如果被忽略,但是跟踪停用仍然会发生,但是删除 - 我更改集将永远不会到达另一个回购,并且由于某种原因永远不会删除您的IMO哪种反直觉。这是一个非常肯定的迹象,有人和我不认识这些人,不愿意对DUH设计问题进行妥协。需要了解的重要一点是,您不确定Mercurial的重要性。除非你正在合并拉当然。那完全合理。但我离题了......
忽略文件/删除对于已经被跟踪但非常具体的文件是一个很好的组合,但是如果你处理的是更大量的内置文件确定的更广泛的模式,则不值得冒这个风险。只需使用双重仓库并从远程仓库pull -u
到同步仓库,然后pull -u
从您的工作仓库中提交并合并到一个仓库中,其唯一目的是合并变更并将其传递给你没有完全跟踪或未跟踪文件的地方(当拉动而不是推动时行为是不同的,因为嘿,为什么要保持一致?)不会引起挫折。相信我。你应该有两个回购只是因为有充分理由得到冒犯而且美国很多人都应该这样做的想法应该提出一个严肃的问题!@#$ ing设计问题,但它比其他所有问题都痛苦得多可怕的事情会让你后悔寻找合理的选择。
并使用hg help
。它实际上是Mercurial的最佳功能,并且通常比互联网更好(我不会因为所有事情的问题而混淆),以获得对这个VCS中令人困惑和反直觉的所有内容的答案。
/回顾性
# switch to regexp syntax.
syntax: regexp
#Config Files
#.Net
^somecompany\.Net[\\/]MasterSolution[\\/]SomeSolution[\\/]SomeApp[\\/]app\.config
^somecompany\.Net[\\/]MasterSolution[\\/]SomeSolution[\\/]SomeApp_test[\\/]App\.config
#and more of the same following
在我的用户目录
根目录下的mercurial.ini中[ui]
username = ereppen
merge = bcomp
ignore = C:\<path to user ignore file>\.hgignore-config
上下文:
我在节点中写了一个auto-config实用程序。我只想更改它更改的文件以便被忽略。我们有两个团队,两个团队都没有在同一个页面上,因为这是一个普遍的事情所以它现在需要是特定于用户的。
配置文件到位并由我的ini文件指向。克隆。我运行配置实用程序并更改文件,stat显示每个文件的列表,旁边有一个M.我认为这是utf-8的事情并明确地将文件设置为utf-16 little endian。我不认为我正在使用regEx,任何现代风格的regEx值得实际调用regEx都不会支持。
答案 0 :(得分:2)
.hgignore
文件对跟踪的文件没有影响。它的功能是阻止你看到你想要忽略的文件列为“未跟踪”。如果你看到“M”,那么它们已经被添加(你用克隆获得它们),所以.hgignore
什么都不做。
处理不同机器的配置文件的常用方法是将app.config.sample
置于源代码管理中,app.config
中设置.hgignore
并让人们在他们'时复制'重新进行配置编辑。
或者,如果您的配置文件允许包含和覆盖,则可以使用include app-local.config
结束它们,并覆盖app-local.config
中您未添加并包含在.hgignore
中的任何设置。< / p>