ToB企服应用市场:ToB评测及商务社交产业平台

标题: windows下git多账号设置详解 [打印本页]

作者: 怀念夏天    时间: 2024-12-14 15:24
标题: windows下git多账号设置详解
媒介

本人有两个git账号,一个github的私人号,一个gitlab的工作号,必要在windows下设置git多账号。
实现在同一个Idea中拉取不同GitLab/GitHub的代码,开发,Commit,Push等操作,互不干扰


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

1.github的设置

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


   输入以下命令:
  1. git config --global user.name "git私人号的名称"
  2. git config --global user.email "git私人号的邮箱"
复制代码


天生github的密钥
  1. 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来完成整个认证过程。
  1. eval "$(ssh-agent -s)"
复制代码
  将天生的ssh-key添加到ssh-agent
  ssh-add ~/.ssh/名字
  1. ssh-add ~/.ssh/id_rsa
复制代码


2.gitlab的设置

   在Git Bash Here的控制台里输入
  1. git config --global user.name "git工作号的名称"  
  2. git config --global user.email "git工作号的邮箱"
复制代码


   继续实行命令ssh-keygen -t rsa -C user.email
  1. #生成gitlab的密钥
  2. ssh-keygen -t rsa -C "git工作号的邮箱"
复制代码
  然后命名为id_rsa_company与github的私人号的公钥密钥区分开
  注意:此处路径/c/Users/666/, 视个人路径而定
  


  1. #将gitlab的密钥命名为id_rsa_company
  2. /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来完成整个认证过程。
  1. eval "$(ssh-agent -s)"
复制代码
  将天生的ssh-key添加到ssh-agent
  ssh-add ~/.ssh/名字
  1. ssh-add ~/.ssh/id_rsa
  2. _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 名字,这时设置显示乐成了~

仅作为参考




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4