Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git bash 如何在Git Bash上更改用户?_Git Bash - Fatal编程技术网

Git bash 如何在Git Bash上更改用户?

Git bash 如何在Git Bash上更改用户?,git-bash,Git Bash,我想注销一个实际用户,以便可以与其他用户登录 我在Git bash中看到的是: MINGW64 ~/Documents/NetBeansProjects/ConstructorJava (master) git push -u origin/master remote: Permission to Fre1234/ConstructorJava.git denied to Fre123. Fatal: unable to access https://github.com/Fre1234/C

我想注销一个实际用户,以便可以与其他用户登录

我在Git bash中看到的是:

MINGW64 ~/Documents/NetBeansProjects/ConstructorJava (master)
git push -u origin/master
remote: Permission to Fre1234/ConstructorJava.git denied to Fre123.  
Fatal: unable to access https://github.com/Fre1234/ConstructorJava.git/": The requested URL returned error: 403

检查
git remote-v
返回的内容:用于推送到http url的帐户通常嵌入到远程url本身中

https://Fre123@github.com/...
如果是这种情况,请输入一个url,该url将强制Git在推送时请求使用该帐户:

git remote set-url origin https://github.com/<user>/<repo>
git远程设置url源https://github.com//
或使用Fre1234帐户的用户:

git remote set-url origin https://Fre1234@github.com/<user>/<repo>
git远程设置url源https://Fre1234@github.com//
还要检查是否安装了凭据帮助器


报告补充说:

我终于找到了解决办法。
转到:
控制面板->用户帐户->管理您的凭据->Windows凭据

通用凭据下
有一些与Github相关的凭据,
单击它们并单击“
删除”

这是因为集合a的默认安装。

对于Mac用户,请参见git配置--global credential.helper输出(应该是
manager

我正在使用Mac,当我试图从Android Studio推出一个项目时,我也面临着同样的问题。另一个用户以前登录Github的原因,他的凭据保存在Keychain Access中

您需要从密钥链访问中删除这些凭据,然后尝试推送


希望对Mac用户有所帮助。

对于Mac用户

我正在使用Mac,当我试图从Android Studio推出一个项目时,我也面临着同样的问题。原因是另一个用户以前登录过GitHub,他的凭证保存在Keychain Access中

解决方案是删除该过程的keychain中的所有信息存储


适用于任何操作系统

这对我有帮助,所以我会把它放在这里,以防万一。 为这两个帐户添加rsa密钥后,在
.ssh
目录中为这两个帐户添加一个配置文件(
.ssh/config

假设这返回第一个用户的电子邮件,并且您希望从第二个用户推送。更改本地
user.name
user.email

git config user.name "SECOND_USER"
git config user.email "SECOND_USER@example.com"
(这不会更改全局配置,您可以将第一个用户设置为全局用户)。完成后,您可以使用
git config user.email
进行确认,它应该返回第二个用户的电子邮件。您已准备好与第二个用户一起推送到GitHub。其余的都是原来的
git-add
git-commit
git-push
。 要从第一个用户推送,请再次更改本地
user.name
,然后执行相同的步骤。 希望有帮助:)


如果上述步骤仍不适用于您,请检查您是否已在GitHub portal中上载RSA密钥:

然后,清除ssh缓存密钥

然后添加2个ssh密钥

ssh-add ~/.ssh/id_rsa_user1
ssh-add ~/.ssh/id_rsa_user2
然后输入您的终端:

ssh -T git@github.com-<SECOND_ACCOUNT_USERNAME_HERE>

如果要在git Bash上更改用户,只需在git Bash上配置特定的用户和电子邮件(全局)

$ git config --global user.name "abhi"
$ git config --global user.email "abhi@xyz.com"

注意:无需从Keychain中删除用户。

谢谢您,我终于找到了解决方案。转到:控制面板->用户帐户->管理您的凭据->Windows凭据->通用凭据下有一些与Github相关的凭据,单击它们并单击“删除”。@Fre1234太棒了!我已将您的评论包含在答案中,以提高可视性。您好,谢谢添加评论。这对我也有用。非常感谢manWell,凭证管理器就是一种方式;如果我的用户名是电子邮件地址,那么我的URL中就有两个
@
,那么原始答案将不起作用。但是,如果我们可以更改凭据管理器,使其包含不同的
用户名
密码
,该怎么办。现在用户名是
PersonalToken
@WesternGun关于@,会有帮助吗?
ssh-add ~/.ssh/id_rsa_user1
ssh-add ~/.ssh/id_rsa_user2
ssh -T git@github.com-<SECOND_ACCOUNT_USERNAME_HERE>
Hi <SECOND_USERNAME>! You've successfully authenticated, but GitHub does not provide shell access.
git remote rm origin
git remote add origin git@github.com-<SECOND_ACCOUNT_USERNAME_HERE>:/your_username/your_repository.git
$ git config --global user.name "abhi"
$ git config --global user.email "abhi@xyz.com"