如何使.gitignore忽略没有扩展名的编译文件?

如何使.gitignore忽略没有扩展名的编译文件?,git,gitignore,Git,Gitignore,可能重复: 编辑:复制 例如,当您使用ghc--make test.hs编译Haskell文件(test.hs)时,结果是test.hi和test。我只想添加并提交源test.hs,同时将test.hi和test保留在存储库之外,但与源文件位于同一目录中测试是个问题,如何指定.gitignore忽略没有扩展名的编译文件?只需将文件名添加到.gitignore文件中即可。例如: $ git ls-files --other --exclude-standard test $ echo test

可能重复:

编辑:复制


例如,当您使用
ghc--make test.hs
编译Haskell文件(
test.hs
)时,结果是
test.hi
test
。我只想添加并提交源
test.hs
,同时将
test.hi
test
保留在存储库之外,但与源文件位于同一目录中<代码>测试是个问题,如何指定.gitignore忽略没有扩展名的编译文件?

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

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

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

echo“*.a”>.gitignore
并使用
ghc--osuf a--make test.hs
编译。谢谢@Eric Wilson,我先搜索了一下,但没有看到那个。@KingCrunch,呵呵,是的,但我更喜欢懒的“git add.”如果可能的话。@Justin,谢谢你不知道。够好了。git add-A添加所有更改。git添加。是不够的。谢谢,考虑到这一点,但我在项目的开始,将有很多这样的文件名。如果没有更好的选择,他们会求助于此。PS-不知道ls files命令,但当我运行它时,输出中仍然包含.hs和.txt文件。我将查看手册页并对其进行一些处理。我只是使用了
ls文件
,因为输出的内容不太详细,这对于这个特定的示例很好。如果你不能按名称或模式识别文件,那你就太倒霉了。如果您可以将所有输出文件放在一个特定的目录中,您可以忽略该目录,或者您可以通过编程生成
.gitignore
文件作为构建过程的一部分。我认为这也会忽略其中包含“test”的任何目录路径。。。