小编Mär*_*Mär的帖子

为什么 Git 想要将我的行结尾更正为 CRLF,即使我希望它们是 LF?

在一个相对较大的项目中,使用签出CRLF和提交LF的策略。为此,我的系统使用:

git config --global core.autocrlf true
Run Code Online (Sandbox Code Playgroud)

但是,当提交文件(在本例中为.gitattributes文件)时,会返回警告:

LF would be replaced by CRLF in .gitattributes
Run Code Online (Sandbox Code Playgroud)

文件.gitattributes本身包含该行* text=auto !eol,并且文件本身使用 LF 行结尾。

为什么会发生这种情况?为什么 Git 告诉我要小心,因为它会将 LF 转换为 CRLF,即使我希望此文件在存储库中以 LF 结尾进行规范化?

我一定错过了一些完全明显的东西,因为我已经经历过:

还有更多,但这仍然没有像我想象的那样工作。

git line-endings core.autocrlf

6
推荐指数
1
解决办法
5104
查看次数

修复“贡献者”视图,以便正确合并具有不同用户名和/或地址的用户

问题陈述

我帮助维护的一个项目中的GitLab贡献者视图已经“损坏”了一段时间了。看来 GitLab 无法理解某些用户名和/或电子邮件地址属于同一用户。

目前,我们的 GitLab贡献者视图显示以下内容:

Dev A <dev_a@company.com>
DevB  <dev_b@company.com>
devb  <dev_b@private.com>
Dev C <dev_c@company.com>
Dev D <dev_d@private.com>
Dev D <dev_d@company.com>
DevD  <dev_d@company.com>
...
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,有些人是相同的,尽管他们由不同的贡献者条目代表。在本表中,此类示例包括:

  • 开发B
  • 开发D

其中开发人员 B 有两个用户名,分别与不同的电子邮件地址相关联,而开发人员 D 具有与两个地址相关联的相同用户名,以及与两个不同用户名相关联的相同地址。


尝试过的解决方案

最初尝试通过 GitLab 提供的 Web UI 来解决此问题。在GitLab > 用户设置 > 电子邮件中,电子邮件可以与帐户关联。对于Dev D的个人资料,如下所示:

dev_d@company.com (Verified) [Primary email][Commit email][Default notification email]
dev_d@education.com (Verified)
dev_d@private.com (Verified)
Run Code Online (Sandbox Code Playgroud)

到目前为止,这表明两者<dev_d@company.com><dev_d@private.com>与同一帐户关联。这不足以让 GitLab 将这些地址映射到贡献者视图中的同一用户。

我们进行了第二次尝试,提供了一个.mailmap文件,其中包含主用户名/电子邮件地址到辅助用户名/电子邮件地址的映射。

当前.mailmap文件如下所示:

Dev …
Run Code Online (Sandbox Code Playgroud)

gitlab

6
推荐指数
0
解决办法
372
查看次数

标签 统计

core.autocrlf ×1

git ×1

gitlab ×1

line-endings ×1