gpt4 book ai didi

git - git 真的需要 .gitattributes 文件吗?

转载 作者:行者123 更新时间:2023-12-05 03:20:47 25 4
gpt4 key购买 nike

我最近阅读了一些关于 .gitattributes 的内容,也找到了像这样的地方,https://github.com/alexkaratarakis/gitattributes ,他们试图在其中维护所有文件类型的 gitattributes。然而在我看来,通过这些文件,我本能地认为这是一个无法维护的困惑。这意味着您每次使用任何新的文件扩展名或任何软件产生新的文件扩展名时都必须更新该文件,这是不可能的。当您与 30 多人的团队一起工作时,维护这样的文件简直就是一场噩梦,我们几乎无法维护一个简单的 icons.svg 文件。

但除此之外,我多年来一直在许多不同的项目中编写和使用 git,但我从未使用过 .gitattributes。我们在我们的项目中使用 prettier 之类的东西,将换行符重写为“lf”,我们在 Windows 上有开发人员,这样的东西从来没有出现过任何问题,vscode 也从来没有出现过这样的问题。 Git 还会自动获取 png 等二进制文件,并自动显示 svg 等文件的文本差异,我从来不需要配置它。

所以我问一个问题,真的有必要有这个文件吗?因为在我看来,它正在注册大量完全不必要的维护,而且 git 足够聪明,可以弄清楚它应该或不应该对文件做什么。

最佳答案

is it really necessary to have this file?

是的,对于与 Git 相关的任何设置(eol、diff、 merge 过滤器、内容过滤器等),您希望存储库的任何协作者都遵循。

这与 git config 不同,后者出于安全原因保留在本地(因为它可能包含敏感信息或危险指令)

.gitattributes 是版本化源代码的一部分,有助于建立通用的 Git 标准。
例如,我总是输入(如 VonC/gitcred/.gitattributes ):

*.bat   text eol=crlf
*.go text eol=lf

因为无论您的 IDE/编辑器如何配置,我需要 CRLF 才能让我的 Windows bat 脚本正常运行,我更喜欢 LF对于我在 Windows 或 Linux 上编辑的 Go 文件。我一直认为像 core.autocrlf 这样的本地设置是一种反模式,best left to false .

但是 .gitattributes 可以声明许多其他 Git 元素:

.gitattributes 文件不是“强制”文件,而是 Git 工具箱中的一个有用工具,可以在项目代码库中安全共享。

关于git - git 真的需要 .gitattributes 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73086622/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com