更改了GitHub密码,无法再回到遥控器

时间:2014-02-13 04:23:42

标签: git github

我更改了GitHub密码后,我无法推送到遥控器:

$ git push origin master
remote: Invalid username or password.

是否只重新克隆存储库?

11 个答案:

答案 0 :(得分:169)

如果您只更改了遥控器的密码,而不是用户名,请尝试使用以下命令检查遥控器的信息: -

  

git remote show origin

这会询问给定git用户的密码,填写正确的密码,然后尝试: -

  

git pull

,或者

  

git push

除非您必须更改其他内容,例如用户名或远程URL,否则它应该可以工作,您可以查看以下Git文档: -

  

https://help.github.com/articles/setting-your-username-in-git/

     

https://help.github.com/articles/changing-a-remote-s-url/

答案 1 :(得分:32)

OP kenu.heo通过删除然后重新克隆回购邮件解决了这个问题。

但对于其他人:

这取决于您使用的操作系统,git版本和协议。

根据操作系统的不同,您可以使用cache your credentialsOSX KeyChain on Macnetrc credential helper on Windows or Linux),这可以解释为什么在更改GitHub密码后推送无效。
对于钥匙串,您需要reset that password stored in it

该密码问题还表明您使用的是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 Authentication)。如果是这种情况,则需要生成PTA(个人令牌访问) 请点击“Configure Git clients, like GitHub for Windows, to not ask for authentication”了解更多信息。

答案 2 :(得分:29)

更新终端中的密码。尝试以下命令,它会再次提示您输入密码。

git push -u origin master

答案 3 :(得分:16)

根据我的经验,您只需要重新输入遥控器

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':

然后开始推

希望它有所帮助。

答案 4 :(得分:3)

在Windows系统上,没有适用于我的步骤,问题是凭据存储在Windows凭据管理器中。

您可以转到控制面板->用户帐户->凭据管理器-> Windows凭据

在“通用凭据”下,您将找到git Url,展开选择并单击“编辑”。

编辑后,只需再次触发git push,它就可以工作。

信息来源:-Remove credentials from Git

答案 5 :(得分:2)

对我来说,使用git-bash在Windows7上运行git,运行:

git push origin master

搞定了。这促使Windows7再次询问我的git信用卡,然后将它们存储起来(无论Windows是什么),以更新密码。

答案 6 :(得分:1)

用户名和密码可能存储在Windows凭据管理器中。 如有必要,请检查并在那里更新。

(我知道这是显而易见的和简单的,但可能对某些人有帮助。)

答案 7 :(得分:1)

如果您已设置Github 2FA Auth,则需要一个个人访问令牌(代替git cli中的github密码),请按照以下说明进行创建:https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line

然后做类似的事情

git checkout master

git pull origin <---此时,系统将要求您输入凭据,输入普通的github用户,并以密码粘贴在上面的链接中生成的令牌。

答案 8 :(得分:1)

您可以通过以下命令更新用户名和密码:

$ git remote set-url origin https://<USERNAME>:<PASSWORD>@github.com/path/to/repo.git

确保将USERNAME更改为您的git用户名,并将PASSWORD更改为新的git密码。

下一个git push应该适合您。

详细了解此article

答案 9 :(得分:0)

我转到了项目的根文件夹。打开.git文件夹。打开配置文件。有几行是这样的:

[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
[remote "origin"]
url = http://username:IncorrectOldPassword@mycompanygithublink/stash/scm/myproject.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
...

我在那更正了密码,瞧!利润。

答案 10 :(得分:0)

好的,原来的帖子已经很老了,但这是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密码之前,遥控器已在工作,并且我不想删除遥控器,因为我需要推送本地更改。

最终,seveasthis question上的GitHub Community Forum的回复为我指明了正确的方向。关键是将我的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成功。