我知道Hg的忽略是有用的,但有没有一种方法可以指定我关心的文件,而忽略其余的, 例如。有没有办法选择我想要的内容,而不是忽略我不想要的内容
如果我在回购中有a.c, a.h, a.o, a.exe, a.err
,有没有一种方法可以告诉Hg,我只想保留*.c *.h
,并且忽略列表中的所有内容。
我知道Hg的忽略是有用的,但有没有一种方法可以指定我关心的文件,而忽略其余的, 例如。有没有办法选择我想要的内容,而不是忽略我不想要的内容
如果我在回购中有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文件。
似乎与白名单相似,就像在http://stackoverflow.com/questions/1512058/hgignore-help-ignoring-all-files-but-certain-ones但Ry4an不会很高兴:http:///stackoverflow.com/a/10434978/6309 – VonC