在一台电脑上配置多个git账户解决方案


最近遇到一个问题,我自己个人有一个码云的代码托管仓库,平时我自己的电脑直接配置账号拉取代码即可,但是现在需要用自己的电脑,开发公司的项目,这个时候就需要在电脑上使用不同的git账户,在度娘上找了很多解决方案,没有遇到完整可用的,经过使用总结和调试,得出以下配置方式,适用于第一拉代码和第一次提交代码。

1. 生成秘钥

我自己本身就有一个git账户,账户的私钥公钥都是按照默认方式生成的,不做赘述。接下来为生成第二个账号公私钥的操作方法。

  1. 首先生成一个git账户对应的公钥和私钥
ssh-keygen -t rsa -C "email@163.com" # 邮箱自定义

注意:输入此命令后记得不要一直敲回车,首先是选择生成文件的存储位置,如果直接敲回车生成的名称是默认的id_rsa,如果你之前生成过,就可能导致名称冲突报错或者把以前的覆盖,需要如下执行:

  • 执行命令ssh-keygen -t rsa -C "email@163.com"后,会有Enter file in which to save the key (/c/Users/joker/.ssh/id_rsa):提示信息,这个时候将/c/Users/joker/.ssh/id_rsa复制输入到后面,并将id_rsa修改成其他名称,如id_rsa_test;
  • 接下来直接敲回车到结束即可,这个时候在C:\Users\joker\.ssh目录下,会生成两个文件,分别是id_rsa_testid_rsa_test.pub,后者是公钥,用记事本打开,复制内容,配置到你的远程仓库即可(如何配置请找度娘)。
  1. 接下来需要在C:\Users\joker\.ssh目录下创建一个文件名称为config,无后缀名记事本打开输入内容如下:
Host hostName1 #可以理解为别名
	HostName gitee.com #托管仓库地址
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/id_rsa #指定私钥的存储位置
	User user1
Host hostName2 #可以理解为别名
	HostName gitee.com #托管仓库地址
	PreferredAuthentications publickey
	IdentityFile ~/.ssh/id_rsa_test #指定私钥的存储位置
	User user2
  1. 保存上面的文件,执行ssh-add命令,添加私钥到本地
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa_test

到这里两个git账号就配置完成啦!配置很简单,但是使用需要注意,在度娘上找的教程都卡着这一步走不下去,教程没有细说这一块内容。

2. 第一次拉取代码

进入你要下载代码的目录,执行git clone命令拉取代码,但是这里git地址需要做稍微的改动。

  • 正常拉取代码方式:
git clone git@gitee.com:username/testproject.git

注意:在使用多个账号的方式下,这种直接拉取,会报没有权限,因为这样系统使用的是默认的私钥,第二个git账户并非默认私钥,而是自定义的。

  • 修改后的拉取方式
git clone git@hostName2:username/testproject.git

说明:修改的区别是将原来的gitee.com,改成config配置文件中定义的别名,也就是hostName2

3. 第一次提交代码

上面的步骤适用于第一次拉取代码,但是如果是第一次提交代码如何弄呢,看下面的步骤。

进入项目目录,按照如下顺序执行命令即可。

git init
git remote add origin git@hostName2:username/testproject.git # 注意这里需要将原来gitee.com用别名替换
git pull origin master
git add .
git commit -m "提交代码备注信息"
git push origin master

再次强调:在使用git remote add origin命令添加远程仓库地址的使用,不要直接使用域名,而是换成别名。


文章作者: 程序猿洞晓
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 程序猿洞晓 !
评论
 上一篇
Linux环境Docker基本操作命令 Linux环境Docker基本操作命令
Docker环境的命令不是很熟悉,很多时候遇到要用的时候就要花费很多时间百度,还是自己在博客里面记录一下,方便后面查看……
2020-12-18
下一篇 
Linux环境Docker在线和离线安装以及镜像的加载 Linux环境Docker在线和离线安装以及镜像的加载
Docker目前在市面上使用的非常广泛,作为一个开发人员,必须要会Docker的一些基本操作,这篇笔记就是记录在Linux环境下安装docker容器,然后将镜像文件加载到镜像文件,最后将本地的目录挂载到容器中,提供容器内使用。
2020-10-15
  目录