我正在使用另一个github帐户来练习,现在我建立了自己的github帐户。从现在开始,我将主要使用自己的帐户。我的问题是我的计算机仍然以另一个github帐户名登录(即使我在线登录自己的Github帐户)。
我无法向我自己的github回购推送任何东西,因为其他帐户显然没有这样做的许可。如何告诉我的电脑切换到我自己的帐户,以便我可以在Github在线推送我的回购?
答案 0 :(得分:20)
如果您使用OSX,请打开终端并运行:
git credential-osxkeychain erase
host=github.com
protocol=https
删除钥匙串条目。所以下次它会提示你登录。
要查看缓存的当前凭据,请使用命令git credential-osxkeychain get
,然后按两次Enter键。
如果你只调用一次你会调用命令,但它会挂起,如果再次按回车键,会出现一个对话框提示确认访问你的钥匙串,然后信息将会在终端
返回如果您希望将来阻止此问题,可以为osx-keychain配置git helper工具,以存储与存储库的整个路径相关联的登录凭据,而不仅仅是默认的域。
在终端输入命令
git config --global --edit
这将打开一个配置文件。如果您还没有,则可能需要设置默认编辑器,以便在首选应用程序中打开文件。例如,将Sublime Text设置为默认编辑器:git config --global core.editor "subl -n -w"
打开配置文件后,搜索useHttpPath
(如果它不存在,则定义它)。并将其值设置为true
。它应该是这样的:
[credential]
helper = osxkeychain
useHttpPath = true
这将指示git(以及github)用于登录的任何凭据应仅与查询的完整存储库路径相关联,而不是与整个域(在github的情况下)相关联Github.com上的所有存储库.. 现在您可以登录到您的存储库,您的男朋友可以登录到他的存储库,您的登录之间不会有冲突。
答案 1 :(得分:2)
感谢David Condrey。
对于在Windows 10上遇到相同问题的任何人,以下内容对我有用。与Apple Mac的答案略有不同。
使用git bash shell /命令行,启动一个编辑器:
git config --global --edit
我在这个文件中只有一个[user]部分。你的可能会有所不同。
将以下凭据部分和单行条目添加到文件末尾:
[credential]
useHttpPath = true
请注意它的凭证,而不是凭据。
您不需要helper = osxkeychain行,适用于Apple Macs。
保存并退出编辑器。
现在当你'git push'时,会出现一个登录对话窗口(但可能在后台)。 Octocat图标出现在任务栏中。
PS:后来,我发现这已经在全局配置中添加了一行,而且可以使用以下命令:
git config --global credential.usehttppath true