Windows下配置多个Git账号
1. 为什么会用多个git账号?
- 不同git账号对应不同代码托管平台,如:github、bitbucket、gitlab、gitee(码云)等
- 2个GitHub账号,用于测试(最近需求,之前没研究过github协同开发,所以注册了个小号来测试)
2. 不同git账号对应不同代码托管平台,以github和bitbucket为例
- github:https://github.com/,你在github使用的账号用户名为:github_user
- bitbucket:https://bitbucket.org/,你在bitbucket使用的账号用户名为:bct_user
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账号的更多相关文章
- 在Windows下配置多个git账号
1.生成并部署SSH key 安装好Git客户端后,打开git bash,输入以下命令生成user1的SSH Key: ssh-keygen -t rsa -C "user1@email.c ...
- Windows下配置Git多账号github码云
Windows下配置Git多账号github码云 1.配置了全局用户名和邮箱 $ git config --global user.email "你的邮箱" $ git confi ...
- windows下使用TortoiseGit代替Git命令行操作
windows下使用TortoiseGit代替Git命令行操作 大家在使用svn的时候,都非常喜欢使用小乌龟,也就是TortoiseSVN:那么git也有小乌龟版本,即TortoiseGit. 1.安 ...
- 配置多个 git 账号的 ssh密钥
背景 在工作中,我们通常会以 ssh 的方式配置公司的 git 账号,但是平时也会使用 github 管理自己的项目.因此,我们需要为自己的 github 创建一个新的 git 账号,这就需要生成新的 ...
- 配置多个git账号的ssh密钥
博客改版,请直接访问新版文章:https://www.cnblogs.com/xiaoxi666/p/9975981.html 背景 我们在工作中会以 ssh 的方式配置公司的 git 账号,但是平时 ...
- windows下配置ssh访问github
一.说明 一直使用HTTPS的方式访问github的代码,用的时间长了,发现这是效率很低的一种开发行为,因为每次git push的时候都要输入username和password.今天就介绍如何在win ...
- Windows 下配置 Vagrant 环境
Vagrant是一个基于 Ruby 的工具,用于创建和部署虚拟化开发环境.它使用 Oracle 的开源VirtualBox虚拟化系统. Vagrant 在快速搭建开发环境方面是很赞的,试想一个团队中, ...
- 在Windows下配置Linux远程开发环境
在Windows下配置Linux远程开发环境 欢迎光临我的个人博客 https://source.chens.life/Configure-Linux-remote-development-envir ...
- windows 下配置 Nginx 常见问题(转)
windows 下配置 Nginx 常见问题 因为最近的项目需要用到负载均衡,不用考虑,当然用大名鼎鼎的Nginx啦.至于Nginx的介绍,这里就不多说了,直接进入主题如何在Windows下配置. 我 ...
随机推荐
- leetcode 0207
目录 ✅ 561. 数组拆分 I ✅ 1025. 除数博弈 聪明的数学归纳法: 动态规划又来了(没理解,todo 0207): ✅ 557. 反转字符串中的单词 III py 中的 字符 split ...
- RTT学习之SPI设备
SPI分为主.从.设备:具体又分标准SPI/DUAL SPI/QUAD SPI(用80字节的RAMrt_err_t rt_spi_take_bus(struct rt_spi_device *devi ...
- Android读取权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <use ...
- 21. Regular Expressions--from Apache
转自: http://jmeter.apache.org/usermanual/regular_expressions.html 21.1 Overview¶ JMeter includes the ...
- Linux kali安装或更新之后出现乱码
打开终端,输入以下命令,之后重启. apt-get install ttf-wqy-zenhei
- [ DLPytorch ] 循环神经网络进阶&拟合问题&梯度消失与爆炸
循环神经网络进阶 BPTT 反向传播过程中,训练模型通常需要模型参数的梯度. \[ \frac{\partial L}{\partial \boldsymbol{W}_{qh}} = \sum_{t= ...
- jmeter 并发控制
1.吞吐控制器以线程组的请求sampler为控制对象, 2.事务控制器: 3.同步定时器syn timer:对某线程组下任意的sampler任意位置作用为,有序控制单个sampler的并发先sampl ...
- IDEA工具java开发之 代码重构Refactor 重命名 删除移动复制 生成变量 抽取方法
一.重命名 用shift + F6 或者右键单击 二.抽取方法 .三.生成变量 . 四.文件移动复制和删除 可以右键
- centos 默认php 版本太低移到高版本的办法
// centos 默认有php 版本太低转移到高版本的解决办法 php -v 版本低 ln -s /usr/local/php/bin/php /usr/bin/php
- Python 中命令行参数解析工具 docopt 安装和应用
什么是 docopt? 1.docopt 是一种 Python 编写的命令行执行脚本的交互语言. 它是一种语言! 它是一种语言! 它是一种语言! 2.使用这种语言可以在自己的脚本中,添加一些规则限制. ...