我知道Hg的忽略是有用的,但是有一种方法可以指定我关心的文件,例如,忽略其余的文件。
如果我在回购中有a.c, a.h, a.o, a.exe, a.err
,我是否可以告诉Hg,我只想保留*.c *.h
并忽略列表中没有的所有内容。
答案 0 :(得分:3)
您有几个选择:
将所有内容(.*
)添加到您想要跟踪的.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文件。