2011-09-30 213 views
16

可能重复:
gitignore without binary files如何让.gitignore忽略没有扩展名的编译文件?

编辑:的gitignore without binary files

当你编译,比方说,一个Haskell文件,(test.hs),使用ghc --make test.hs,结果是test.hi杜佩和test。我只想添加并提交源test.hs,同时将test.hitest保留在存储库之外,但与源文件位于同一目录中。 test是问题,我该如何指定.gitignore忽略没有扩展名的已编译文件?

+2

'echo“* .a”>> .gitignore'并用'ghc --osuf a --make test.hs编译' –

+0

谢谢@Eric Wilson,我先搜索了一下,但没有看到那个。 – Kurtosis

+1

@KingCrunch,呵呵,是的,但我更喜欢懒惰的'git add。'如果可能。 – Kurtosis

回答

6

只需将文件名添加到您的.gitignore文件中即可。例如:

$ git ls-files --other --exclude-standard 
test 
$ echo test > .gitignore 
$ git ls-files --other --exclude-standard 
$ 

.gitignore不关心扩展名。它只是匹配模式。

+4

谢谢,考虑到,但我在项目的开始,将有很多这些文件名。如果没有更好的选择,将诉诸于此。 PS - 不知道ls-files命令,但是当我运行它时,它仍然在输出中包含.hs和.txt文件。将检查出手册页,并玩一下。 – Kurtosis

+0

我刚刚使用了'ls-files',因为输出的内容不够详细,这对于这个特殊的例子来说很不错。如果您无法通过名称或模式识别文件,那么您的运气非常不好。如果你可以把所有的输出文件放到一个特定的目录中,你可以忽略该目录,或者你可以编程生成你的'.gitignore'文件作为你的构建过程的一部分。 – larsks