前言
最近接了一个新的项目,需要将项目创建好,后端基本框架已经搭建好了,就是需要将代码推送到公司的仓库中了,克隆的时候一切顺利,拉取也没有一点点问题,但是在推送的时候报403了,我 … !然后就一直在找报错原因,找了半天也没有看出有什么问题,快下班的时候想起来之前接手同事的项目的时候好像用了他的git账号,所以我们现在的操作都是基于他的git账号来操作的,我 … !所以就一直报403,因为这次创建的仓库是我本人的仓库,根本就没有添加前同事的git账号,所以我是拿前同事的git账号在操作,所以就报403了。
注意、注意、注意
重要的事情说三次
第一次与git建立远程连接的时候都是需要凭证的,建立远程连接命令( git remote add origin [远程仓库的URL] ),如果没有,就是之前已经建立过连接了,并且保存凭证信息了。
- 第一次与 Git 建立连接时,要么需要输入用户名和密码进行验证(使用 HTTPS 协议),要么需要使用 SSH 密钥进行身份验证(使用 SSH 协议)。具体取决于你使用的身份验证方法。
- 如果你使用的是 HTTPS,首次推送操作时通常需要提供用户名和密码来进行身份验证。这是因为 Git 需要验证你的身份,以确保你有权限访问远程仓库。一旦你成功验证,并且同意将凭据存储在缓存中,后续的推送操作将不再需要输入用户名和密码。
- 而如果你使用的是 SSH,首次推送操作时会使用你配置的 SSH 密钥进行身份验证,而不需要输入用户名和密码。你在本地生成的 SSH 密钥对(公钥和私钥)将与你在远程仓库平台上添加的公钥进行匹配。
- 无论你使用哪种身份验证方法,首次建立连接时,通常需要进行一次身份验证,以确保你有权限访问远程仓库。之后,系统会将验证信息缓存,使得你在接下来的操作中不再需要每次输入用户名和密码或 SSH 密钥密码。
需要注意的是,上述情况可能因为使用的 Git 服务商或者配置的不同而稍有差异,请参考具体的文档和设置说明以获取准确的操作步骤和验证方式。
将凭证保存在本地命令,因为我之前使用了这个命令,所以将凭证保存到本地了,这样就不需要每次建立连接都需要重新验证凭证。
git config --global credential.helper store
执行git config --global credential.helper store
命令会将Git的凭据存储方式设置为store
。这意味着Git会将你的凭据(用户名和密码)以明文的形式存储在本地,下次访问远程仓库时会自动使用这些凭据进行身份验证,无需重新输入。
这种方式虽然方便,但也存在一些潜在的风险。因为凭据以明文形式保存在本地,任何能够访问你的本地机器的人都可以获得这些凭据。因此,建议仅在安全环境下使用store
方式,并确保你的计算机和账户都受到适当的保护。
如果你想撤销这个设置并停止使用store
方式保存凭据,可以执行以下命令:
git config --global --unset credential.helper
这将从全局Git配置中删除credential.helper
的设置,从而恢复默认的凭据管理方式。每次访问远程仓库时,你都需要手动输入凭据来进行身份验证。
403报错解决办法
那就是修改之前保存的凭证信息,改成自己的git账号凭证信息,或者删除对应链接的凭证,重新进行验证
第一种方式
打开 控制面板 —》 所有控制面板主页 —》凭证管理器
找到对应连接的地址进行凭证修改
进行修改
第二种方式
- 打开 cmd,输入命令:
rundll32.exe keymgr.dll,KRShowKeyMgr
,出现「存储的用户名和密码」窗口;
打开存储用户名和密码窗口,找到对应的远程连接地址进行编辑或者删除就可以了
进行代码推送
推送成功,nice。