标签: gitattributes

.gitattributes默认文件类型处理

我们已经为项目存储库创建了文本和二进制文件类型的列表,但是我担心某些类型可能已从该分类中滑落,或者将来有人可能会添加新文件类型而忘记了将其添加到该.gitattribute文件。

在某些类别下不在此文件上的文件类型的默认行为是什么?未提及的文件类型的默认行为是设置为“二进制”吗?我认为将文本文件未真正像文本那样用于autocrlf转换之类的问题的问题要比rar仅将其文件类型未在配置文件中提及而将行尾更改为文件的问题要少

git line-endings gitattributes

5
推荐指数
1
解决办法
2259
查看次数

.gitattributes与core.autocrlf unset

我的存储库中有一个.gitattributes文件,看起来像这样

* text=auto
*.txt text
Run Code Online (Sandbox Code Playgroud)

我在存储库,全局和系统设置中取消了core.autocrlf的设置.根据gitattributes的文档,我的理解是存储库中名称以.txt结尾的所有文件都应该使用本机行结尾进行检出.但我所看到的是,即使在Windows上,.txt文件也总是有LF用于行结尾.鉴于此配置,为什么Windows上的行结尾CRLF不是?

git gitattributes core.autocrlf

5
推荐指数
1
解决办法
6052
查看次数

.gitattributes中`*text = auto`和`*text eol = lf`之间的差异是什么?

我一遍又一遍地看着.gitattributes的文档,但我找不到这两者之间的差异的明确答案:

* text=auto

* text eol=lf

text=auto仅用于*或者也可以与特定扩展一起使用?在这种情况下,有什么不同?

*.txt text=auto

*.txt text eol=lf

git gitattributes core.autocrlf

4
推荐指数
1
解决办法
1291
查看次数

.gitattributes 语言学家属性标准

我刚刚创建了一个新的 Laravel 项目,并且正在设置我的.gitattributes语言学家属性。问题是,我不确定要为哪些文件/目录设置哪些。

默认.gitattributes文件如下所示:

* text=auto
*.css linguist-vendored
*.scss linguist-vendored
*.js linguist-vendored
CHANGELOG.md export-ignore
Run Code Online (Sandbox Code Playgroud)

首先,为什么所有.css,.scss.js文件都设置为linguist-vendored?这不仅会从 Linguist 中排除所有此类用户创建的文件,而且 Laravel 也只有这些文件中的 1、2 和 4 个,这将如何显着影响语言学家的统计数据?

其次,是否有关于哪些文件应标记为的约定/标准linguist-vendored?我应该标记所有 Laravel 文件,只标记那些我不修改的文件,只标记vendor目录,还是根本不标记?或者甚至是别的什么?

提前致谢 !

git github gitattributes laravel github-linguist

4
推荐指数
1
解决办法
1074
查看次数

“这种比较需要很长时间才能生成。” github上的错误

我正在开发一个项目,该项目有大量 json 文件,这些文件从未在拉取请求中进行审查,但偶尔需要更改。最近我们不得不对它们进行一些小的更改,而 github 不允许我使用这些更改创建拉取请求。相反,它给了我:

\n
This comparison is taking too long to generate.\nUnfortunately it looks like we can\xe2\x80\x99t render this comparison for you right now. It might be too big, or there might be something weird with your repository.\n
Run Code Online (Sandbox Code Playgroud)\n

我在本地检查了 diff,实际的代码更改非常小(可能更改了 200 行),但这些 json 文件中有数百万行已更改的行。有什么办法让 Github 忽略它们吗?现在我无法提交 PR,因此这些更改无法通过我们正常的公司审核流程。

\n

我尝试使用 .gitattributes 文件,*.json linguist-generated=true不幸的是没有效果。

\n

编辑:正如已接受的答案中所建议的,我就这个案例联系了 github 支持。他们的建议是创建一个带有小提交的新分支,创建 PR,然后将我想要部署的实际分支合并到其中。这将更新 PR,虽然差异仍然不会显示,但它会让我创建一个 PR。

\n

github gitattributes pull-request

4
推荐指数
1
解决办法
6042
查看次数

“*text=auto”和“*text=auto eol=lf”有什么区别?

我正在阅读有关该.gitattributes文件和强制行结尾的规则,在一些教程中它的写法* text=auto其他教程类似,就像* text=auto eol=lf在文件的第一行一样。

有什么区别吗?第一个到底是做什么的?它甚至强制任何行结尾吗?

另外,在一些存储库中,提到了* text=auto执行 LF 归一化!我不知道这是真的还是假的。

git eol gitattributes

4
推荐指数
1
解决办法
1935
查看次数

我们可以在不同的 repo 子文件夹中拥有多个 .gitattributes 文件吗?

有没有办法拥有多个 .gitattributes 文件,每个子文件夹中有一个文件(在本例中是为了对 LFS 进行更模块化的管理)?

或者 .gitattributes 与 .gitignore 不同并且仅支持存储库根目录下的单个文件?

谢谢

git gitattributes

4
推荐指数
1
解决办法
1641
查看次数

如何将`.gitattribute`文件应用到目录下的所有文件?

在本地建立的任意Git项目中,.gitattribute根目录下可以包含一个文件来根据环境控制特殊字符(以GitHub上的Apache Spark为例):

*.bat text eol=crlf
*.cmd text eol=crlf
*.java text eol=lf
*.scala text eol=lf
*.xml text eol=lf
*.py text eol=lf
*.R text eol=lf
Run Code Online (Sandbox Code Playgroud)

Git 仅在提交新文件时使用此文件,这可能会导致许多碎片提交,这些提交不会更改除特殊字符(特别是行分隔符)之外的文件内容。

我可以使用哪一个 Git 命令一次性修改项目下的所有文件,无论是否提交?

git newline gitattributes core.autocrlf

4
推荐指数
1
解决办法
278
查看次数

是否可以根据环境变量配置 .gitignore ?

是否可以根据环境变量添加到 .gitignore 规则?

例如

if -e $(ENV_VAR) "AAA"
!liba.so
else
liba.so
Run Code Online (Sandbox Code Playgroud)

基本上我想要的是拥有一个存储库,以便if ENV_VAR = "AAA"本地存储库将具有a.txt,如果ENV_VAR未设置,则 a.txt 将被删除。

linux git gitignore gitattributes

3
推荐指数
1
解决办法
6383
查看次数

.gitattributes 中的“* text=auto eol=lf”和“* text eol=lf”有什么区别?

这与这个问题非常相似: What is the Difference between `* text=auto` and `* text eol=lf` in .gitattributes?

但我特别问为什么我应该使用* text=auto eol=lfover* text eol=lf或反之亦然?

根据我的理解,eol覆盖text设置,那么使用前者有什么意义呢?有区别吗?如果是这样 - 怎么办?

我现在正在阅读很多网站和 Stack Overflow 问题/答案 - 但我仍然完全困惑。特别是当我看到这个变化时:https://github.com/git/git/blob/master/Documentation/RelNotes/2.10.0.txt#L248

我发现更改的措辞很难读懂,以至于我现在仍然不明白。有人可以解释一下吗?

git gitattributes

3
推荐指数
1
解决办法
1479
查看次数