windows下git多账号配置详解

前言

本人有两个git账号,一个github的私人号,一个gitlab的工作号,需要在windows下配置git多账号。

实现在同一个Idea中拉取不同GitLab/GitHub的代码,开发,Commit,Push等操作,互不干扰


一、生成git账号对应的公钥密钥?

1.github的配置

找到win环境下的安装的Git软件,打开Git软件的目录,点击打开Git Bash Here的控制台里

输入以下命令:

git config --global user.name "git私人号的名称" 
git config --global user.email "git私人号的邮箱"

生成github的密钥

ssh-keygen -t rsa -C "git私人号的邮箱"

进入密钥目录可以看到生成了一对(id_rsa密钥/id_rsa.pub公钥)。

注意:在Enter file in which to saven the key(/c/User/666/.ssh/is_rsa):  这句话,是默认公钥密钥的名字为id_rsa,如果想要需要命名为其它的,可以写/c/User/666/.ssh/你需要的名字。

 添加密钥到ssh-agent

ssh-agent是一种控制用来保存公钥身份验证所使用的私钥的程序,
可以理解为“ssh-agent就是一个密钥管理器,运行ssh-agent以后,

使用ssh-add将私钥交给ssh-agent保管,
其它程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。

eval "$(ssh-agent -s)"

将生成的ssh-key添加到ssh-agent

ssh-add ~/.ssh/名字

ssh-add ~/.ssh/id_rsa

2.gitlab的配置

在Git Bash Here的控制台里输入

git config --global user.name "git工作号的名称"  
git config --global user.email "git工作号的邮箱" 

继续执行命令ssh-keygen -t rsa -C user.email

#生成gitlab的密钥
ssh-keygen -t rsa -C "git工作号的邮箱"

然后命名为id_rsa_company与github的私人号的公钥密钥区分开

注意:此处路径/c/Users/666/, 视个人路径而定

#将gitlab的密钥命名为id_rsa_company
/c/Users/666/.ssh/id_rsa_company

进来密钥目录可以看到生成了一对(id_rsa_company密钥/id_rsa_company.pub公钥)

添加密钥到ssh-agent

ssh-agent是一种控制用来保存公钥身份验证所使用的私钥的程序,
可以理解为“ssh-agent就是一个密钥管理器,运行ssh-agent以后,

使用ssh-add将私钥交给ssh-agent保管,
其它程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程。

eval "$(ssh-agent -s)"

将生成的ssh-key添加到ssh-agent

ssh-add ~/.ssh/名字

ssh-add ~/.ssh/id_rsa_company

二、添加多账号配置文件config

在Git Bash Here的控制台里创建文件:touch config

在Git Bash Here的控制台里输入命令:vi config 

输入如下内容(因为该控制台使用的是linux规则,在输入前需要按一下字母键i,在linux下表示写;写完按Esc 输入:后按下WQ这两个字母键,此时在.ssh/目录下就有了config文件,注意没有后缀):

该文件分为多个用户配置,每个用户配置的说明:
Host 配置的别名(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost)
HostName  填写是目标主机的主机名,也就是平时我们使用ssh后面跟的地址名称(ssh地址“git@”后面到冒号前面的内容)

Port 端口 (如果使用标准端口22,则可以省略端口配置。如果不是,请添加对应的端口配置,一般某些私有部署的git仓库会更换端口号)
IdentityFile是对应的密钥文件(该host后台配置的公钥对应的私钥地址的绝对路径)

PreferredAuthentications:  配置登录时用什么权限认证 ,设为(publickey, password publickey, keyboard-interactive 等,一般使用publickey即可,git仓库均为这种形式)

User云端仓库登录用户名

在命令模式下,输入:wq或者:x,按下回车键,即可保存并退出 vi。

也可以使用笨方法:创建完config后,利用Notepad++工具打开,将多用户配置信息添加进去。

三、把公钥添加进github和gitlab账号中

用编辑器打开id_rsa.pub/id_rsa_company.pub使用Notepad++,默认编码utf-8,拷贝里面的全部内容。

1.登录github平台,添加私人号公钥

公钥标题随便写

2.登录gitlab平台,添加工作号公钥

          某账户下的ssh key:某个账号的最高级key,只要是这个账号有的权限(任何项目),都能进行操作

          某仓库的deploy keys:某个仓库的专有key,用这个key,只能操作这个项目,其它项目都没有权限

注意:此处ssh key是加到 某账户下的ssh key

某账户下的ssh key

登录进去后,点击Preferences-> SSH Keys

公钥标题随便写,将前面gitlab的公钥id_rsa_company.pub内容复制进来

四、远程测试连接

测试链接是否成功, 这里的github、gitlab是config文件中设置的Host

一般我们测试连通性时要输入:ssh -T git@gitlab.com 需要网站的域名,在.ssh文件的config配置之后直接使用主机名即Host的值代替网站名

注意:git和@中间没有空格

eg:

ssh -T git@github

github:运行命令后如果出现“Hi xxxx! You’ve successfully authenticated, but GitHub does not provide shell access.”,其中“xxxx”为你配置的 User 名字,这时配置显示成功了~

ssh -T git@gitlab

gitlab:运行命令后如果出现“Welcome to GitLab, @xxxx!”,其中“xxxx”为你配置的 User 名字,这时配置显示成功了~

仅作为参考


  • 14
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在w11配置多个git账号,可以按照以下步骤进行操作: 1. 首先,在用户文件夹中找到.ssh文件夹。如果没有该文件夹,可以手动创建一个新的文件夹,并将其命名为.ssh。[1] 2. 在.ssh文件夹中创建一个名为config的文件。这个文件将用于配置多个git账号的信息。 3. 打开config文件,使用文本编辑器编辑该文件。在文件中,按照以下格式添加每个git账号配置信息: ``` Host github.com HostName github.com User git IdentityFile ~/.ssh/id_rsa_github Host github-second HostName github.com User git IdentityFile ~/.ssh/id_rsa_github_second ``` 这里的`Host`可以是你想要设置的任意名称,`HostName`是git的服务器地址,`User`是git的用户名,`IdentityFile`是私钥文件的路径。你可以为每个git账号设置不同的`Host`和`IdentityFile`。 4. 保存并关闭config文件。 5. 接下来,生成一个新的SSH密钥对。在终端中运行以下命令: ``` ssh-keygen -t rsa -C 'your_email@example.com' -f ~/.ssh/id_rsa_github_second ``` 这里的`your_email@example.com`应替换为你的邮箱地址,`id_rsa_github_second`是你为第二个git账号生成的密钥文件名。 6. 按照提示设置密钥的密码(可选)。 7. 将生成的公钥添加到你的git账号的设置中。 - 对于github.com,请将公钥内容复制到GitHub的SSH设置页面中。 8. 现在,你可以使用不同的git账号进行操作了。 - 当连接到第一个git账号时,使用`git@github.com`作为远程主机地址。 - 当连接到第二个git账号时,使用`git@github-second`作为远程主机地址。 注意:在进行git操作时,需要指定正确的远程主机地址以及相应的git账号信息。 这样,你就成功配置w11上的多个git账号。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [如何配置多个git账号/多个远程仓库](https://blog.csdn.net/weixin_39729784/article/details/111726124)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@蓝眼睛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值