1. 为何会用多个git帐号? html
2. 不一样git帐号对应不一样代码托管平台,以github和bitbucket为例 git
1)假设你已经生成了不一样的 sshkey,其中针对不一样的平台能够命名以下:github
2)个人移动到 /c/Users/xxx/.ssh/目录下,在该目录下手动建立文件“config”(无后缀名),编辑config文件,以下:segmentfault
# github account [github_user] Host github.com HostName github.com User github_user IdentityFile /c/Users/xxx/.ssh/id_github_rsa IdentitiesOnly yes # bitbucket account [bct_user] Host bitbucket.org HostName bitbucket.org User btc_user IdentityFile /c/Users/xxx/.ssh/id_bitbucket_rsa IdentitiesOnly yes
3)经过上述配置后,你就可使用多个git帐号操做对应的代码托管平台(假设你使用同一个email注册不一样的平台,不然的话,须要取消全局email和username设置,而且在使用前经过git config命令切换帐号,具体请看 3. 同一个平台GitHub下的不一样git帐号)bash
3. 同一个平台(GitHub为例)下的不一样git帐号session
1)config 配置以下:ssh
# github account [user1] Host github.com HostName github.com User user1 IdentityFile /c/Users/xxx/.ssh/id_user1_rsa IdentitiesOnly yes # github account [user2] Host github.com HostName github.com User user2 IdentityFile /c/Users/xxx/.ssh/id_user2_rsa IdentitiesOnly yes
2)在使用时须要注意,不能设置全局的 username 和 emailgitlab
# 取消全局 username, email >git config --global --unset user.name >git config --global --unset user.email
3)如要在repo中使用 user1 进行操做,进入repo目录后,先设置username 和 email,再进行其余操做测试
>git config user.name "user1" >git config user.email "user1登录GitHub的email"
# 一样的,若是想在repo中切换为 user2 进行操做,则从新设置username和email(同上)后,再进行其余操做
4. 可能遇到的问题spa
1)git push:remote: Permission to XXXA/xxxx.git denied to XXXB
缘由:
解决方法:
5. 参考内容
转载请说明出处!have a good time :D