git多账号管理

Posted sese

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了git多账号管理相关的知识,希望对你有一定的参考价值。

公司项目放在了 gitlab,自己项目放在了 github,小程序项目放在了 微信的代码管理工具(https://git.weixin.qq.com/)上,如何进行git多账号管理呢?

这玩意没难度,看到陌生的东西别太紧张~

1.看你本地有没有ssh

 这一步可有可无~想看的就在 git bash 执行如下命令

ls -al ~/.ssh

你也可以在文件夹查看,目录一般是 C:Usersadmin.ssh。

更多资料可查看检查现有 SSH 密钥

 

2.为每个账号生成SSH密钥

git bash 执行如下命令:

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
your_email@example.com 替换你成 Git账号的电子邮件地址。
网上可能很多都是用的  ssh-keygen -t rsa -C "your_email@example.com" 。
这2者的区别是上面那条命令(有-b 4096的)可以让本地机器ssh登录远程机器上的GitHub账户无需输入密码。

注意事项:
SSH默认的生成文件是 id_rsa.pub 和 id_rsa,如果你已经生成过SSH了,那么你在新建另一个账号的SSH的时候,它会提示你 "Your public key has been saved in /c/Users/admin/.ssh/id_rsa.pub",这个时候你需要另取一个名字,如生成github账号的你可以设置为 /c/Users/admin/.ssh/id_rsa_github。

3.把对应的公钥添加到对应的平台上

SSH生成完之后,把每个账号的SSH(每个账号对应的 id_ras.pub 里面的内容)分别添加到它对应平台。
一般都是在 设置(setting)--> SSH 里面添加。以gitlab为例:

技术图片

 

4.修改.ssh目录下的config文件,没有就创建一个

该文件用于配置私钥对应的服务器, 主要的两项就是User和IdentityFile, Host和Hostname可以随意填写。

#gitlab
       Host gitlab.shfengqu.com
       HostName gitlab.shfengqu.com
       IdentityFile ~/.ssh/id_rsa //默认私钥的名字
       User ***

#github
       Host github.com
       HostName github.com
       IdentityFile ~/.ssh/id_rsa_github //创建github账号时取的私钥的名字
       User ***

#wxapp
       Host git.weixin.qq.com
       HostName git.weixin.qq.com
       IdentityFile ~/.ssh/id_rsa_wxapp //创建微信的git账号时取的私钥的名字
       User ***

 

5.将私钥添加到SSH agent

这一步是为了让SSH识别新的私钥。

git bash 执行如下命令:

ssh-agent bash
ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_wxapp

 id_rsa_github 和 id_rsa_wxapp 换成你自己的私钥名。就是你第2步时创建的名字。

 

6.检查配置是否成功

ssh -T git@gitlab.shfengqu.com
上面 gitlab.shfengqu.com 替换成 你自己配置的地址。

若添加成功返回如下图:

技术图片

 

以上是关于git多账号管理的主要内容,如果未能解决你的问题,请参考以下文章

Git的多账号登录配置

使用 Git 来管理 Xcode 中的代码片段

如何管理在每个 git 版本中添加私有代码片段?

多个 github 账号,怎样配置对应的 ssh key

Windows下Git多账号ssh-key(复制自己用)

转载使用阿里云code和git管理项目