Version control 有没有一种方法可以在hg中选择我想要的,而不是忽略我不想要的';我不想要
我知道Hg的ignore很有用,但是有没有一种方法可以指定我关心的文件,比如忽略其余的文件Version control 有没有一种方法可以在hg中选择我想要的,而不是忽略我不想要的';我不想要,version-control,mercurial,tortoisehg,Version Control,Mercurial,Tortoisehg,我知道Hg的ignore很有用,但是有没有一种方法可以指定我关心的文件,比如忽略其余的文件 如果我在回购协议中有a.c,a.h,a.o,a.exe,a.err,有没有办法告诉Hg,我只想保留*.c*.h,忽略列表中没有的所有内容。嘿,@vonC是对的,我不能就此罢休。没有办法把hgignore变成白名单而不是黑名单。我想这是设计出来的(当然不是我设计的) 您有几个选择: 将所有内容(*)添加到您的.hgignore文件中,然后添加要跟踪的hg Add文件--添加始终覆盖忽略 只需分解并制作一个合
如果我在回购协议中有
a.c,a.h,a.o,a.exe,a.err
,有没有办法告诉Hg,我只想保留*.c*.h
,忽略列表中没有的所有内容。嘿,@vonC是对的,我不能就此罢休。没有办法把hgignore变成白名单而不是黑名单。我想这是设计出来的(当然不是我设计的)
您有几个选择:
*
)添加到您的.hgignore
文件中,然后添加要跟踪的hg Add
文件--添加始终覆盖忽略hg status--no status--unknown>>。hgignore
是一个很好的起点.hgignore
中添加“*
”,然后创建一个如下的钩子:
[hooks]
precommit.add = hg add $(hg status --unknown --no-status -I '**.c' -I '**.h')
它会在您提交时自动添加任何新的.c和.h文件。似乎类似于白名单,但Ry4an不会高兴:是hg的插件吗?顺便问一下,
*.c
和**.c
之间有什么区别,尽管这是另一个问题:)不,钩子是内置的功能。请尝试man hgrc
或阅读Mercurial书籍的第10章以获得解释。**。c在所有路径中包括*.c。简而言之,*
匹配除斜杠以外的任何东西,***
匹配任何东西。它对我不起作用。我认为钩子应该是pre-commit
,破折号是@Ry4an在中说的,而--unknown
选项应该是--ignored
,因为被忽略的文件是已知的。因此,代码可以是pre-commit.add=hg add$(hg status--ignored--no status--I'**.c'-I'**.h')