php - 如何配置 Git 以忽略对行尾的更改?

标签 php git newline line-endings

我们的一位开发人员的文本编辑器弄乱了 PHP 文件的行尾。我们已经尝试了所有设置,但编辑器在保存时似乎仍然将 CR-LF 替换为 LF。

当然,最明智的做法是用一个像样的编辑器替换编辑器,但我想:为什么不配置 Git 来处理行尾的差异?这就是我卡住的地方;我无法让它正常工作,我想听听你的建议。

我们 check out 的文件似乎有 CR-LF 行结尾。当我们的开发人员编辑并存储它们时,它们同样具有 LF 结尾。提交文件时,不仅行会更改,而且每一行都会被删除并重新插入。

我已将 core.autocrlf 设置为 true。提交时,我收到一条警告,所有 LF 都将被 CR-LF 替换。该文件将在您的工作目录中具有原始结尾。但是,所有行都被删除并再次添加。当与另一个分支 merge 时,这会产生冲突。

我尝试用*.php 文本 制作一个.gitattributes 文件。与 core.autocrlf 相同的结果。

所以我的问题是:有没有一种方法可以将 Git 配置为只提交我们程序员所做的更改,而保留只有行尾发生变化的行?

最佳答案

根据我对文档的内存,你不能准确地做到这一点。

但是,配置允许您忽略特定的行结尾。

如果你想在存储库中存储所有使用 LF 行结尾的文件,运行:

git config --system core.autocrlf false git config --system core.eol lf

您可能还想确保全局、系统和本地配置设置为您要实现的目标:

git 配置 --global -l git 配置 --system -l git 配置 --local -l

关于php - 如何配置 Git 以忽略对行尾的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25460833/

相关文章:

php - 当我使用 Resizable Jquery 增加 div 的大小时如何滚动?

PHP,将参数从命令行传递到 PHP 脚本

git - 如何配置 `git branch -d` 仅在 merge 到当前分支时删除分支

html - 匹配 sed 中的任意字符(包括换行符)

.net - 如何将多行字符串打印到消息框中?

php - 对于这个 php 问题我应该采用什么最好的方法

php fgetcsv 和整数转换(UTF8 x UCS-2 Little Endian)

git - 哪些分支应与 Azure 中的部署槽关联

git - 我的 Git 对象包文件夹非常重(push --force 之后)

C - 从最后一行读取文件问题