这可能不是重复; 我已经阅读了StackOverflow上的许多类似问题,但没有读过这个问题.
我试图在Ubuntu Linux上使用多个git帐户,每当我尝试从第二个帐户推送时,它认为我仍在使用第一个帐户的用户名.
$ git push -u origin master
ERROR: Permission to <act2>/<repo>.git denied to <act1>.
Run Code Online (Sandbox Code Playgroud)
我首先尝试了多个SSH密钥方法.当我收到上述错误后,我在本地计算机上创建了一个全新的用户,以该用户身份登录,重新创建了本地仓库(它是第一次推送)并再次尝试.同样的错误.我的本地.config显示用户,我的〜/ .gitconfig也是如此.
有任何想法吗?
我这样做:ssh @localhost然后是ssh -vvv -T git@github.com
我得到了这个有趣的输出.它似乎在我的帐户中找到了一个密钥.但不知何故,它在我的帐户中使用了一个密钥,实际上应该无法访问.
debug1: Host 'github.com' is known and matches the RSA host key.
debug1: Found key in /home//.ssh/known_hosts:1
debug2: bits set: 513/1024
debug1: ssh_rsa_verify: signature correct
debug2: kex_derive_keys
debug2: set_newkeys: mode 1
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug3: Wrote 16 bytes for a total of 1015
debug2: set_newkeys: mode 0
debug1: SSH2_MSG_NEWKEYS received
debug1: SSH2_MSG_SERVICE_REQUEST …Run Code Online (Sandbox Code Playgroud) 我最近创建了第二个GitHub帐户,分别是我的工作和我的私人项目(之前,我只有工作帐户).我将https与Windows凭据存储结合使用.要自动选择正确的帐户,我会按照此处的建议存储我的私人帐户信息~/.gitconfig和工作帐户信息.~/work/.gitconfig
不幸的是,当我尝试在我的私有存储库中推送更改时,我收到以下错误:
$ git push
remote: Permission to privateuser/privaterepo.git denied to workuser.
fatal: unable to access 'https://privateuser@github.com/privateuser/privaterepo.git/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)
我将远程URL设置为git remote set-url origin https://privateuser@github.com/privateuser/privaterepo.git类似于此处的建议.推进我的工作回购仍然工作正常.当我输入git config user.name我的私人/工作回购时,我分别得到我的私人/工作用户名 - 应该是这样.
新的私有存储库有什么问题?为什么git仍然认为我是workuser,当我试图推送到我的私人回购?它是否必须对Windows Credential存储执行某些操作,我用它来存储我的工作凭据?它从未要求我私人帐户的密码......
是否可以让包含多个存储库的文件夹使用一组凭据并让另一个文件夹用户使用不同的帐户?例如,我想在我的 mac 上有一个文件夹用于工作存储库,一个文件夹用于个人文件夹,并根据我所在的文件夹自动切换 git 用户名和密码。
我在github上有一个个人帐户和一个工作帐户,我希望能够推送和拉到我想要的任何一个.
Github不允许我为这两个帐户使用相同的SSH密钥,所以我该怎么玩呢?
如果我尝试生成另一个SSH密钥,它会覆盖旧密钥,或者不创建新密钥 - 我应该将它保存到〜/ .ssh/id_rsa2吗?
每次我想切换用户时,是否需要更改我的.gitconfig文件中的用户名和电子邮件,或者我可以在其中定义多个用户?
简单地说,从同一台机器管理多个github帐户的最佳(或任何!)方式是什么?
我使用Intellij Idea15。我以前使用帐户A将代码提交到github吗?我现在想使用帐户B将代码提交到github。如何切换到其他帐户?
我有两个GitHub帐户,有两个不同的电子邮件ID,
目前,我的.gitconfig如下;
[filter "lfs"]
process = git-lfs filter-process
clean = git-lfs clean -- %f
smudge = git-lfs smudge -- %f
required = true
[user]
name = joshinachiket
email = nachiket.r.joshi@gmail.com
[core]
autocrlf = true
excludesfile = C:\\Users\\NACHIKET\\Documents\\gitignore_global.txt
Run Code Online (Sandbox Code Playgroud)
不过,当我想要提交到存储库时,它说,
remote: Permission to joshinachiket/CMPE295-enterprise-grade-botman.git denied to TheBloodMage.
fatal: unable to access 'https://github.com/joshinachiket/CMPE295-enterprise-grade-botman.git/': The requested URL returned error: 403
Run Code Online (Sandbox Code Playgroud)
其中TheBloodMage是来自其他github电子邮件ID的用户ID.
我在问题中显示的.gitconfig内容是我创建存储库的帐户,而且TheBloodMage是我不想访问的其他github帐户(我的旧帐户).
基本上,
我用github id创建了一个存储库 - joshinachiket
我在一台计算机上克隆了存储库,其中.gitconfig显示了相同的ID和电子邮件,如上所示
但是,错误表明TheBloodMage无权访问存储库.
我很久以来一直坚持这个问题......任何人都可以告诉我我做错了什么?
因此,我的工作计算机已连接到github.company.com终端上的GitHub 企业帐户 ( )。现在我也想github.com在这里设置我的个人帐户 ( )。
我一直在关注本教程 - https://code.tutsplus.com/tutorials/quick-tip-how-to-work-with-github-and-multiple-accounts--net-22574
和第 3 步,当我要创建我的配置文件应该我HostName是github.company.com还是github.com?我可以有任何(有意义的)名字Host吗?还有,User这里是什么意思?
另外,我如何在终端上的这两个帐户之间切换 - 即我的个人帐户和我的企业帐户?有些事情我需要从我的个人帐户提交,其余的使用企业帐户。