问题描述
在本地合并时,我们使用core.autocrlf=true
设置正确处理行尾差异。
从Gitlab的Web界面直接合并 时如何控制core.autocrlf
设置?
我们发现,Changes
标签中的某些文件似乎已完全更改,并且可能与此设置有关。
P.S。所有开发人员都在本地具有正确的core.autocrlf
设置。
解决方法
所有开发人员在本地唯一正确的core.autocrlf
设置是:
git config --global core.autocrlf false
任何eol转换都应独家管理through .gitattributes
,它是版本控制,是源代码的一部分,并且可以为文件的特定子集设置。
与core.autocrlf
本地设置相反,该设置由每个用户控制,并应用于每个文件(甚至是二进制文件)
此原则在诸如gitlab-org/gitlab
issue 21431的GitLab问题中得到体现
我认为这里提出的解决方案是针对Web IDE和单一文件编辑器,以在存在时正确支持使用
.gitattributes
文件。
但是,如gitlab-org/gitlab issue 14391所示,WebEditor在执行合并请求时仍不支持此文件(.gitattributes
)。
因此,目前,当完全在GitLab端完成MR时,就无法正确管理eol。