ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

请把 .gitattributes 加到你的 Git 仓库中

2021-06-08 17:51:45  阅读:241  来源: 互联网

标签:lf 文件 git 仓库 加到 Git 开发者 gitattributes


什么是 .gitattributes ?

当执行 git 动作时,.gitattributes 文件允许你指定由 git 使用的文件和路径的属性,例如:git commit 等。

换句话说,每当有文件保存或者创建时,git 会根据指定的属性来自动地保存。

其中的一个属性是 eol(end of line),用于配置文件的结尾。本文将会深入了解如何配置文件的结尾行,这样的话,即使在不同的机器、操作系统 上都可以使得每个开发者都可以使用相同的值。

为什么是 .gitattributes(开发者之间的争议 ⚔️ )?

不是所有的开发者都是一样的,不能因为你是在 Windows 上使用 Visual Studio Code 开发的,就期望别的 Pull Request 也是基于相同的开发 环境完成的(在 MacOS 上可能用的是 Sublime Text2)。

正如上面提到的,开发者使用不同的操作系统,默认的文件结尾行就会不同。在 Windows 上默认的是回车换行(Carriage Return Line Feed, CRLF),然而,在 Linux/MacOS 上则是换行(Line Feed, LF)。

从表面看起来,内容都是一样的,那我们为什么还会困扰呢???

好的,如果你启用了该功能,并设置属性 endOfLine 为 lf 的话。
 

{
"endOfLine": "lf"

}

在 Windows 上,开发者会看到如下的检查警告。


这时候 .gitattributes 就可以派上用场了

新仓库

首先,在仓库的根目录下创建名为 .gitattributes 的文件。

下面,是一份 .gitattributes 文件的样例内容。

*.js    eol=lf
*.jsx   eol=lf
*.json  eol=lf



把该文件提交并推送到服务器上。

git add .
git commit -m "Added .gitattributes to repo"
git push



现在,任何人从仓库获取代码后,创建以及修改文件时,git 都会自动地设置好正确的文件结尾。

增加到已有的 Git 仓库

正如上面提到的,在仓库的根目录下创建名为 .gitattributes 的文件。一旦文件推送到 git 服务器后,请确保你的本地 仓库是干净的、无需提交的。使用命令 git status 可以检查是否你的仓库是干净的。

注意:如果你还有未提及或推送的文件,请确保这些动作已经被执行过了,或者在执行下面的命令前 stash 过。

重置 GitAttributes

git rm --cached -r
git reset --hard



上面的命令就会根据文件 .gitattributes 中的定义,更新文件的结尾行。

任何变更都会自动使用指定文件的文件结尾行格式。

下一步,可以通知团队成员或者协作者去执行 Git 属性重置的命令。

现在,prettier 就不会在提示有关 CR 的问题了,所有的开发者都可以安心写代码了!
 

pic2.jpg

标签:lf,文件,git,仓库,加到,Git,开发者,gitattributes
来源: https://blog.51cto.com/u_14928332/2883248

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有