我想退出实际用户,以便我可以与其他用户登录。
我在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
答案 0 :(得分:52)
检查git remote -v
返回的内容:用于推送到http网址的帐户通常会嵌入到远程网址中。
https://Fre123@github.com/...
如果是这种情况,请设置一个会强制Git在推送时要求帐户使用的网址:
git remote set-url origin https://github.com/<user>/<repo>
或者使用Fre1234帐户:
git remote set-url origin https://Fre1234@github.com/<user>/<repo>
同时检查您是否安装了Git For Windows,无论是否有凭据助手as in this question。
我终于找到了解决办法 转到:
Control Panel -> User Accounts -> Manage your credentials -> Windows Credentials
在
Generic Credentials
下,有一些与Github相关的凭证,
点击它们,然后点击&#34;Remove
&#34;。
这是因为Git for Windows的默认安装设置了Git-Credential-Manager-for-Windows
请参阅git config --global credential.helper
输出(应为manager
)
答案 1 :(得分:3)
对于Mac用户
我正在使用Mac,并且在尝试从Android Studio推送项目时遇到了同样的问题。该其他用户先前登录Github的原因,其凭据已保存在“钥匙串访问”中。
您需要从“钥匙串访问”中删除这些凭据,然后尝试推送。
希望对Mac用户有帮助。
答案 2 :(得分:2)
对于Mac用户
我正在使用Mac,并且在尝试从Android Studio推送项目时遇到了同样的问题。原因是另一个用户先前已登录GitHub,其凭据已保存在Keychain Access中。
解决方案是删除该过程的钥匙串中的所有信息
答案 3 :(得分:1)
对于任何操作系统
这对我有帮助,所以我把它放在这里,以防万一。
为两个帐户添加rsa密钥后,请在.ssh
目录中为两个帐户(.ssh/config
)添加一个配置文件
# First account
Host github.com-<FIRST_ACCOUNT_USERNAME_HERE>
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_user1
# Second account
Host github.com-<SECOND_ACCOUNT_USERNAME_HERE>
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_user2
确保使用正确的用户名和RSA文件。接下来,您可以打开存储库根目录上的terminal / git bash并检查要从哪个帐户推送
git config user.email
假设这返回第一位用户的电子邮件,而您想从第二位用户发送。更改本地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门户中上载RSA密钥。 Refer to GitHub documentation:
然后,清除您的ssh缓存密钥Reference
ssh-add -D
然后为您添加2个ssh密钥
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.
然后,将正确的远程分配给本地存储库。确保在.ssh/config
旁边放置与Host
文件中输入的用户名相同的用户名。在以下情况下,git@github.com-<SECOND_ACCOUNT_USERNAME_HERE>
。
git remote rm origin
git remote add origin git@github.com-<SECOND_ACCOUNT_USERNAME_HERE>:/your_username/your_repository.git
答案 4 :(得分:0)
如果你想在 git Bash 上更改用户。你只需要在 git bash 上配置特定的用户和电子邮件(全局)。
library(dplyr)
df %>%
mutate(category1 = between(Size, 35, 55) & Type == 'RX1' &
Batch == 'Nov' & is.na(PI1) & !grepl('RDT_', Source)) %>%
group_by(Date = as.Date(DateTime)) %>%
summarise(Count_Order = n(),
Count_Done = sum(Status == 'Done'),
`Total_%` = Count_Done/Count_Order * 100,
Count_Category1 = sum(category1),
Count_Done_Category1 = sum(category1 & Status == 'Done'),
`%Category1` = Count_Done_Category1/Count_Category1 * 100) %>%
replace(is.na(.), 0)
# Date Count_Order Count_Done `Total_%` Count_Category1 Count_Done_Catego… `%Category1`
# <date> <int> <int> <dbl> <int> <int> <dbl>
#1 2020-08-01 2 1 50 0 0 0
#2 2020-08-02 2 2 100 0 0 0
#3 2020-08-03 3 2 66.7 0 0 0
#4 2020-08-04 1 1 100 1 1 100
注意:不需要从钥匙串中删除用户。