1. 为什么会用多个git账号?

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

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

1)假设你已经生成了不同的 sshkey,其中针对不同的平台可以命名如下:

  • 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文件,如下:

# 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账号)

3. 同一个平台(GitHub为例)下的不同git账号

1)config 配置如下:

# 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 和 email

# 取消全局 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. 可能遇到的问题

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

Windows下配置多个Git账号的更多相关文章

  1. 在Windows下配置多个git账号

    1.生成并部署SSH key 安装好Git客户端后,打开git bash,输入以下命令生成user1的SSH Key: ssh-keygen -t rsa -C "user1@email.c ...

  2. Windows下配置Git多账号github码云

    Windows下配置Git多账号github码云 1.配置了全局用户名和邮箱 $ git config --global user.email "你的邮箱" $ git confi ...

  3. windows下使用TortoiseGit代替Git命令行操作

    windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...

  4. 配置多个 git 账号的 ssh密钥

    背景 在工作中,我们通常会以 ssh 的方式配置公司的 git 账号,但是平时也会使用 github 管理自己的项目.因此,我们需要为自己的 github 创建一个新的 git 账号,这就需要生成新的 ...

  5. 配置多个git账号的ssh密钥

    博客改版,请直接访问新版文章:https://www.cnblogs.com/xiaoxi666/p/9975981.html 背景 我们在工作中会以 ssh 的方式配置公司的 git 账号,但是平时 ...

  6. windows下配置ssh访问github

    一.说明 一直使用HTTPS的方式访问github的代码,用的时间长了,发现这是效率很低的一种开发行为,因为每次git push的时候都要输入username和password.今天就介绍如何在win ...

  7. Windows 下配置 Vagrant 环境

    Vagrant是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境.它使用 Oracle 的开源VirtualBox虚拟化系统. Vagrant 在快速搭建开发环境方面是很赞的,试想一个团队中, ...

  8. 在Windows下配置Linux远程开发环境

    在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...

  9. windows 下配置 Nginx 常见问题(转)

    windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...

随机推荐

  1. Python学习第二十课——自定property and classmethod

    自定制property class Lazyproperty: def __init__(self,func): # print('==========>',func) self.func=fu ...

  2. 阿里云oss操作

    参考网址 https://blog.csdn.net/qq_22764659/article/details/87969743

  3. TreeView 中 MVVM Command Binding

    <HierarchicalDataTemplate x:Key="TreeNodes" ItemsSource="{Binding Path=Childs,Mode ...

  4. MySQL - 在Ubuntu下密码初始化

    1. 打开/etc/mysql/debian.cnf文件,在这个文件中有系统默认给我们分配的用户名和密码,通过这个密码就可以直接对MySQL进行操作了. 2. 以debian-sys-maint为用户 ...

  5. Ubuntu中安装pycharm

    1.首先在官网上下载pycharm 2.下载完成后解压,进入到解压文件夹里的bin,找到pycharm.sh 3.使用终端启动:sh pycharm.sh 4.关于破解: 通过命令打开hosts:cd ...

  6. UIImage点九图(让image不变形、只拉伸中间部分)

    建议写成UIImage的分类,如下 .h //保证图片拉伸不变形 - (UIImage *)resizingImageState; .m //保证图片拉伸不变形 - (UIImage *)resizi ...

  7. VS误删sln项目文件怎么办

    以项目名为Test为例 打开Test/Test目录下的 Test.vcxproj 文件,试着运行一下,退出后提示保存sln文件,选择一个目录即可.

  8. c# 分页 PaginatedList<TResult>

    using System; using System.Collections.Generic; using System.Linq; namespace Microestc.PaginatedList ...

  9. MFC加载图片

    目录 1. 自适应方法 2. 加载原图方法 1. 自适应方法 /* 自适应方法 */ CRect rect; CRect rect1; CImage image; //创建图片类 image.Load ...

  10. 学习笔记(16)- InsuranceQA_zh

    仓库地址:https://github.com/l11x0m7/InsuranceQA_zh Convolutional Neural Network for Chinese InsuranceQA ...