更改GitHub密码后,无法推送到远程服务器:
$ git push origin master
remote: Invalid username or password.
是否只有重新克隆存储库?
更改GitHub密码后,无法推送到远程服务器:
$ git push origin master
remote: Invalid username or password.
是否只有重新克隆存储库?
Answers:
如果您仅更改了遥控器的密码而不是用户名,请尝试使用以下命令检查遥控器的信息:-
git remote show origin
这将要求您输入给定git用户的密码,正确填写密码,然后尝试:-
git pull
要么,
git推
除非必须更改用户名或远程URL之类的东西,否则它应该可以工作,您可以查看以下Git文档:
https://help.github.com/articles/setting-your-username-in-git/
git remote show origin
显示提示
git remote show origin
并没有提示我,只是- show
激怒了我,所以我认为它失败了(按我需要的去做)。但是,以防万一,然后我尝试了一下git push origin master
,这提示了我。所以...我仍然可以到达需要的地方:)
该OP kenu.heo已经通过去除围绕这一问题的工作,然后再重新克隆回购。
但对于其他:
这取决于您的操作系统,git版本和所使用的协议。
根据操作系统的不同,您可以使用多种方法来缓存凭据(Mac上为OSX KeyChain,Windows或Linux上为netrc凭据帮助器),这可以解释为什么更改GitHub密码后推送无法正常工作。
对于钥匙串,您需要重置存储在其中的密码。
该密码问题还表明您使用的是https网址(而不是ssh网址),该网址取决于公共/私有ssh密钥,并且不受GitHub帐户密码的影响,因为已将公共SSH密钥注册到您的GitHub帐户不会改变)。
用检查git remote -v
。
您可以通过以下方式强制git使用GitHub登录名:
git remote set-url origin https://Username@github.com/Username/MyRepo.git
(用您自己的值替换' Username
'和' MyRepo.git
')
然后再次尝试推送,它应该询问您的GitHub密码。输入新的。
如果这不起作用,请检查是否已激活2FA(2-Form身份验证)。在这种情况下,您需要生成一个PTA(个人令牌访问)。
请参阅“将Git客户端(例如Windows的GitHub)配置为不要求身份验证 ”中的详细信息。
git remote set-url origin https://github.com/shared_repo/shared_repo.git
通过Git Shell在Windows上为我工作
根据我的经验,您只需要重新输入remote-addr即可。
git会向usr / password询问新密码,而不是保持沉默并使用不推荐使用的密码。
查看您的遥控器,找到您要更改的遥控器
>git remote
github
gitcafe
company
例如,如果您更改了公司的回购密码,则可以执行以下操作:
>git remote remove company
这不会碰到您的文件夹,不会碰到您的提交。这只是从git中删除url-string
然后,再次添加此网址:
>git remote add company https://git.AyCramba.com/xxx.git
推送到它:
>git push company master
username for 'https://git.AyCramba.com':
password for 'https://git.AyCramba.com':
然后它开始推动
希望能帮助到你。
好的,原始帖子很旧,但这是Google的最佳搜索结果,没有一个答案对我有用。其他的SO和GH帖子也不起作用。发布此内容可帮助在这里关注我的任何人!
我的情况略有不同:个人GH帐户,使用SSH和Mac上的git命令行推送到私人公司存储库。我的密码既不存储在我的.gitconfig
钥匙串中也不存储在git中credential.helper
。
在下面的示例中,PersonalName是我的GH帐户,CompanyName是公司(GH上存储库的所有者),而RepoName是存储库。
我的原始错误消息也有所不同:尝试git push origin master
导致
remote: Repository not found.
fatal: repository 'https://github.com/CompanyName/RepoName.git/' not found
在更改我的GH密码之前,该遥控器已在工作,并且我不想删除该遥控器,因为我需要推送本地更改。
最终,塞维斯(Seveas)在GitHub社区论坛上对这个问题的回答为我指明了正确的方向。关键是将我的GH帐户名与远程(专用)存储库关联。
这对我有用:
git remote set-url origin https://PersonalName@github.com/CompanyName/RepoName.git
然后
git remote show origin
提示
Password for 'https://PersonalName@github.com':
我能够输入新密码,查看远程详细信息并git push origin master
成功。
如果您已设置Github 2FA Auth,则需要一个个人访问令牌(代替git cli中的github密码),请按照以下说明进行创建:https : //help.github.com/en/github/authenticating-to -github /为命令行创建一个个人访问令牌
然后做类似的事情
git checkout主
git pull origin <---此时,系统将要求您提供凭据,输入您的普通github用户,并使用密码粘贴上面链接中生成的令牌作为密码。