Git仓库内配置新账号后push仍用全局账号报错的问题
Git Push权限错误的原因
你遇到的问题核心在于:Git配置里的user.name和user.email只是用来标记提交记录的作者信息,和远程仓库的身份验证完全不相关。
具体来说:
- 你在仓库里设置的
user.name=user2和user.email=user2@email.com,只会影响你提交代码时,提交记录上显示的作者是谁,并不会改变Git向远程仓库验证身份时用的账号。 - 执行
git push时,Git会调用本地存储的凭据(比如Windows凭据管理器、macOS钥匙串,或者Git自带的凭据助手)来验证身份,而这个凭据对应的是你全局配置的user1账号。远程仓库识别到的是user1的身份,而user1没有访问user2仓库的权限,所以返回了403错误。 - 哪怕你在仓库里覆盖了用户名邮箱,只要本地存储的验证凭据还是user1的,push时就还是用user1的身份请求,自然会被拒绝。
内容的提问来源于stack exchange,提问作者C9_HP
相关产品推荐
相关产品推荐

