执行git push时以非预期账号在仓库创建pull request问题求助
Git推送后显示非预期账号创建PR的原因
- 本地仓库级配置覆盖全局配置
Git的配置优先级为仓库级 > 全局 > 系统级,仅修改全局user.email不生效,可能是当前操作的仓库单独配置了User2的身份信息。可在仓库根目录执行git config --local --list查看本地仓库的user.name、user.email配置项,若存在异常可执行git config --local user.email "User1的邮箱"修正。 - 提交身份与推送认证身份互相独立
本地配置的user.email仅作用于提交记录的署名信息,PR创建者身份由推送时使用的认证账号决定:- 若使用HTTPS协议推送,删除Windows凭据管理器后仍存在异常,大概率是VS Code Git插件缓存了User2的认证令牌,可重启VS Code后重新触发推送,在弹出的认证窗口中重新输入User1的账号凭证
- 若使用SSH协议推送,和HTTPS凭据无关,是因为本地默认SSH密钥绑定的是User2的远程平台账号,可执行
ssh -T git@对应托管平台域名验证当前SSH对应的账号,替换为User1的SSH密钥即可解决
- 托管平台的邮箱映射规则冲突
若User2的远程平台账号也绑定了你当前提交使用的邮箱,托管平台会自动将提交记录匹配到User2账号下,导致PR创建人显示异常,可到对应平台的账号设置页面检查绑定的邮箱列表,确保该邮箱仅归属于User1账号。
内容的提问来源于stack exchange,提问作者Jeff
相关产品推荐
相关产品推荐

