Windows下配置多个Git帐号

1. 为何会用多个git帐号? html

  • 不一样git帐号对应不一样代码托管平台,如:github、bitbucket、gitlab、gitee(码云)等
  • 2个GitHub帐号,用于测试(最近需求,以前没研究过github协同开发,因此注册了个小号来测试)

2. 不一样git帐号对应不一样代码托管平台,以github和bitbucket为例 git

1)假设你已经生成了不一样的 sshkey,其中针对不一样的平台能够命名以下:github

  • github:id_github_rsa
  • bibucket:id_bitbucket_rsa
  • 注意:为了管理方便,把id_github_rsa、id_github_rsa.pub 和 id_bitbucket_rsa、id_bitbucket_rsa.pub都移到同一目录下

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

缘由:

  • 以前为了测试GitHub的一些机制,我在同一个电脑上配置了两个GitHub帐号:southday | lcxv
  • 最近在向southday帐号下的项目push代码时,出现:remote: Permission to XXXA/xxxx.git denied to lcxv
  • 这是因为电脑使用git bash配过SSH,系统已经将指向github.com的用户设置为了lcxv,每次push操做的时候,默认读取保存在本地的用户lcxv

解决方法:

  • 解决这个问题最简单的办法是删除本机中GitHub的lcxv登录session
  • 从新提交的时候,git会要求你输入新的用户名和密码,输入后就能够成功提交了

5. 参考内容

转载请说明出处!have a good time :D

相关文章
相关标签/搜索