现在我已经进入了Mercurial的一个小回顾。忘记与hg remove
结合的忘记文件。这是疯狂的和低音呐喊。一旦确定遗忘文件中的东西不会遗漏,您可以使用hg remove
,因为在创建原始回购之前跟踪了该疑问项。请注意0可以有效地清除跟踪状态,但它也会安排文件在任何从您的存储库中获取更改的文件中删除。如果被忽略,但是跟踪停用仍然发生,但是这个删除 - 更改集不会再到达另一个回购站,并且出于某种原因决不会删除您的IMO违反直觉。这是一个非常肯定的迹象,有人和我不认识这些家伙,是不愿意妥协的设计问题。重要的是要明白,你不确定什么是重要的,Mercurial。除了当然你正在合并拉。那是完全合理的。但我离题...此用户忽略Mercurial的文件有什么问题?
忽略文件/删除是一个很好的组合已经跟踪,但非常具体的文件,你想忘记,但如果你处理大量的内置文件确定与更广泛的模式,这是不值得风险。从一个双重回购和pull -u
从远程回购到您的同步回购,然后pull -u
提交从您的工作回购和合并在一个回购,其唯一目的是合并更改并将它们传递到一个地方,其中你不完全跟踪或未跟踪的文件(当然,因为嘿,为什么要一致,拉动而不是推动行为是不同的),不会导致挫败感。相信我。你应该有两个回购的想法,只是为了让他们有充分的理由冒犯,而且我们很多人都在做这个事情,这应该说明一个重要的问题,但它比其他所有的问题都要痛苦得多可怕的事情,会让你后悔寻求一个明智的选择。
并使用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
语境:
我在写节点的自动配置实用程序。我只想对其更改的文件进行更改以被忽略。我们有两个团队,两者都不在同一页面上,因此将其作为一个普遍的事物,因此它现在需要是用户特定的。
配置文件就位并指向我的ini文件。我克隆。我运行配置实用程序并更改文件,stat显示每个单独文件的旁边都有一个M的列表。我认为这是utf-8的事情,并明确地将文件设置为utf-16小端。我不认为我正在用regEx做任何现代风格的regEx值得真正调用regEx不会支持。
因此,没有办法建立本地的东西来确定哪些东西不需要从克隆中进行跟踪? – 2013-02-18 00:30:15
这是正确的。您可以将“其他所有”作为参数传递给'hg commit',并且可以使用'--exclude thing/to/exclude'命令,甚至可以创建别名(shell或in-mercurial),这样'hg mycommit '对这些排除事项做了承诺,但没有配置文件的方式来说“我对文件进行了更改,我告诉过你是重要的,但我不在乎”。 'whatever.sample'这是大多数你会找到的项目。 – 2013-02-18 01:39:59
很酷。对于为什么Mercurial希望您添加所有这些步骤来完成这样简单的事情感到困惑,但感谢您的帮助。 – 2013-02-18 15:44:59