Git使用备用用户ID,尽管Git config和Git remote不引用它

Git使用备用用户ID,尽管Git config和Git remote不引用它,git,github,Git,Github,我有两个github id:javadxx和stephencompanyid 在尝试推送到下面屏幕截图中显示的github repo时,似乎应用了不正确的用户ID:目的是使用javadxx,但错误消息似乎表明应用了另一个 以下是远程参考: $git remote -v origin https://github.com/javadxx/jfreechart-fse (fetch) origin https://github.com/javadxx/jfreechart-fse (push)

我有两个github id:javadxx和stephencompanyid

在尝试推送到下面屏幕截图中显示的github repo时,似乎应用了不正确的用户ID:目的是使用
javadxx
,但错误消息似乎表明应用了另一个

以下是远程参考:

$git remote -v
origin  https://github.com/javadxx/jfreechart-fse (fetch)
origin  https://github.com/javadxx/jfreechart-fse (push)
屏幕截图显示fork是在javadxx id下创建的:

以下是尝试的命令:

6:40:01/jfreechart-fse $git push origin InitFromArray
remote: Permission to javadxx/jfreechart-fse.git denied to stephencompanyid.
奇怪的是,
.gitconfig
和本地的
gitconfig-l
都表示另一种情况,即
javadxx
处于活动状态

jfreechart-fse $git config user.name
javadxx
16:48:04/jfreechart-fse $git config user.email
javadxx@<blah>
我甚至在.git文件夹中查找其他id的任何残余:

grep companyname .git/*

(no results)

user.name
用于提交。不适用于实际的GitHub https会话

用于GitHub会话的帐户是在git push上输入的

也可以是url的一部分:

git remote set-url https://javadxx@github.com/javadxx/jfreechart-fse
                           ^^^^^^^^

这样一来,
git push
总是需要javadxx的密码

git config(在您的配置文件中)文件使用的数据用于创建提交的作者。你可以把任何东西放在里面-没关系,没有验证这是你或任何其他有效地址

您看到的是推送到服务器的身份验证——这由Git单独处理。根据您的操作系统,您的凭据可能会被缓存-这可能就是您在这里看到的

Git附带了一个凭证助手,它将您的Git凭证存储在操作系统的凭证存储中(在Windows和Mac OS X上。Linux没有安全的Git凭证存储)

要清除存储的身份验证数据,请在终端/外壳程序窗口中键入以下内容(按ENTER键,其中显示
):

git凭证拒绝
网址=https://github.com
这将清除存储的信息,一旦您再次尝试推送,它将再次要求输入用户名和密码

或者,您可以使用操作系统的凭据存储(例如Mac OS X上的密钥链访问)手动删除凭据

有关凭据存储的更多信息,请单击此处:


您可以尝试使用https
推送到GitHub吗?这将迫使GitHub提示您输入用户名和密码,从而消除使用错误用户的可能性。@TimBiegeleisen看起来远程设备已经在使用https。错误为
拒绝stephencompanyid。
其他ID来自何处:它不包括在远程url中。@javadba不会这样说如果您在urlah中包含正确的id!我没有引起足够的注意。(即使有^^^^用木槌提示打我)@javadba qso你真的需要凭证助手吗?有没有其他方法可以避免每次输入密码?哇!你把它钉在那里了。
git remote set-url https://javadxx@github.com/javadxx/jfreechart-fse
                           ^^^^^^^^
git credential reject<ENTER>
url=https://github.com<ENTER>
<ENTER>