我有Git bash的奇怪问题.我要Github的账户,假设一个和乙.我设置了我的姓名和电子邮件,如帐户A:
git config --global user.name
git config --global user.email
Run Code Online (Sandbox Code Playgroud)
我初始化了新的repo,做了一个提交,然后推送git bash并向我询问了github的登录名和密码.错误地我为帐号B输入了登录名和密码!! 我成功登录,但没有刚刚初始化的存储库.
如何注销并登录到不同的github帐户?这不是user.name也不是user.email
小智 10
我的情况是我更改了 gitlab.com 的帐户电子邮件,然后我的本地 git 存储库无法推送。saTya 的回答有效,但在 Windows 10 1903 中,它是Control Panel -> Credential Manager -> Windows Credentials -> Generic Credentials。
要更新您的 Git 凭证,请转至控制面板 -> 凭证管理器 -> 通用凭证。找到与您的 git 帐户相关的凭据并编辑它们以使用更新后的密码。
参考链接:https : //cmatskas.com/how-to-update-your-git-credentials-on-windows/
小智 7
如果您在一段时间后已经连接到任何 github 帐户,那么您会拉取或推送属于其他帐户的其他存储库。
示例:
我已经连接或验证了我的 github 帐户用户名和密码,即“account@gmail.com”,它可以工作并发现一切正常,但如果我想要另一个属于其他帐户的目录。当我拉它的时候。gitbash 生成错误“未找到所需的存储库”。这实际上是由于将您的 gitbash 连接到旧帐户所致。首先,您必须删除所有旧凭据并添加新帐户。然后它就会工作得很好。
示例:
要删除旧凭据,请使用此命令
git credential-manager delete https://github.com
并再次添加用户名用户名和电子邮件
git config user.name = "new_username"
git config user.email= "newEmail@gmail.com"
Run Code Online (Sandbox Code Playgroud)
验证后推送或拉取您的存储库
git pull -u origin master
Run Code Online (Sandbox Code Playgroud)
然后它将正常工作,您的代码将从属于其他帐户的远程存储库推送或拉取。
正如我在“ 如何在Windows的Git Bash控制台中注销? ”中所解释的那样,简单得多:
git credential-manager delete <url>
Run Code Online (Sandbox Code Playgroud)
这里
git credential-manager delete https://github.com
Run Code Online (Sandbox Code Playgroud)
无需删除可用于缓存用户密码的凭据帮助程序。
将搜索 git 凭据~/.git-credentials或~/.config/git/credentials文件。您可以搜索这些文件,如果找到则对其进行修改。
$ git config --global --unset credential.helper
# search file
$ sudo find / -type f -name .git-credentials
$ sudo find / -type f -name credentials
Run Code Online (Sandbox Code Playgroud)
对于Windows,manager存储您的凭据。它有一个Control Panel Interface您可以edit or delete存储的凭据的地方。
$ git config --global credential.helper manager
Run Code Online (Sandbox Code Playgroud)