Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.gittributes中没有扩展名的文件_Git_Gitattributes - Fatal编程技术网

.gittributes中没有扩展名的文件

.gittributes中没有扩展名的文件,git,gitattributes,Git,Gitattributes,我试图在.gittributes中处理没有扩展名的文件: * text=auto *. eol=lf .py eol=lf *。显然没有帮助git check attr--所有--./foo输出: ./foo:text:auto 如何做到这一点?我认为您必须为所有文件设置所需的值,然后删除扩展名为的文件的属性: * text=auto eol=lf *.* -eol # or set another default value *.py eol=lf 它将给出以下结果: $ git chec

我试图在.gittributes中处理没有扩展名的文件:

* text=auto
*. eol=lf
.py eol=lf
*。
显然没有帮助<代码>git check attr--所有--./foo输出:

./foo:text:auto


如何做到这一点?

我认为您必须为所有文件设置所需的值,然后删除扩展名为的文件的属性:

* text=auto eol=lf
*.* -eol # or set another default value
*.py eol=lf
它将给出以下结果:

$ git check-attr --all -- file
file: text: auto
file: eol: crlf
$ git check-attr --all -- foo.py
foo.py: text: auto
foo.py: eol: lf
$ git check-attr --all -- bar.txt
bar.txt: text: auto
bar.txt: eol: unset

我只需要在
*.
*.py上设置
eol=lf
。不在
*.
上。这就是为什么有人问这个问题。哦,我的错。我将修正我的答案。
*。
表示最后一个字符为句点的文件。“扩展”是一个愚蠢的人类概念,而不是计算机所做的事情。:-)因此名为
foo
的文件只是“名为
foo
的文件”,这里不知道它是否有扩展名。(这在旧的DOS 8.3 fliename时代是不同的,至少在MS-DOS和CP/M中是不同的,在那里名称实际上被存储为“名称,扩展名”。但到了1990年代,这就不再是真的了。)@torek我想这完全取决于某个软件如何解析这个愚蠢的人类概念。这就解释了为什么这在Git中可能不起作用,但并不能解释它应该如何被修复。我认为目前你仍在使用齐加姆的方法。在Mercurial中,您可以使用正则表达式(它比file glob notation更强大,因此可以检测不包含句点的文件名),尽管Mercurial本身首先没有与
.gittributes
等效的表达式。但是Git在路径上不支持正则表达式。