首页 >云效2020 >云效代码管理 Codeup >常见问题 >提交显示的用户和云效账号名不一样是为什么?

提交显示的用户和云效账号名不一样是为什么?

基于 Git 本身的机制,Git 提交者和作者信息来源是 git config 中自定义的 user.email 和 user.name,由于支持自定义,所以可以设置为任意邮箱和名字,因此 Git 提交信息可以伪装任何人。

Codeup 提交列表页面显示提交人信息的原则如下。

提交用户识别原则

Codeup 会使用当前登录的云效账号已绑定的主邮箱和 Git 提交信息中的 user.email 进行匹配(本地推送的情况下,提交信息中的邮箱由本地 git config 配置),如果匹配一致,该提交将归为当前用户的贡献,特别在代码提交量统计场景下,建议成员注意将 user.email 设置为和云效账号绑定的主邮箱一致,避免贡献计算误差。

1
说明

Codeup 支持推送规则检查,如开启「代码属主检查」,则会启动邮箱检查,当提交信息中的邮箱和服务端云效账号主邮箱不一致时,支持拒绝提交。具体参见推送规则设置

如果提交信息中的邮箱没有匹配当前使用的云效账号的主邮箱,则会直接显示提交信息中的 user.name 作为展示,所以可能会出现企业成员之外的提交人或作者名字,这并非是企业代码库被外部人员操作了。

为了规范提交信息,建议开启「代码属主检查」,尽可能让提交信息和云效账号匹配一致。

当然,如果要导入外部代码库,代码库提交历史中很可能有非企业成员的提交(例如开源代码库),这时候不可避免提交信息中会有外部人员的提交记录,这是完全合理的。

如何杜绝提交伪造?

如果有人窃取了他人的账密信息,并配置了他人的邮箱,想恶意伪造提交,向代码仓库提交恶意代码,此时可以使用 GPG 在本地签署提交记录(commit)或者标签(tag)。 Codeup 将对这些签名做验证,来确保提交记录或者标签来自受信任的来源。

具体介绍参见GPG 签名杜绝提交伪造

阿里云首页 云效2020 相关技术圈