【Windows】git多帐号配置
📔 千寻简笔记介绍
千寻简笔记已开源,Gitee与GitHub搜索chihiro-notes
,包含笔记源文件.md
,以及PDF版本方便阅读,且是用了精美主题,阅读体验更佳,如果文章对你有帮助请帮我点一个Star
~
文章目录
一、背景
作为一名出色的开发工程师,目前互联网代码托管平台众多同时有些平台已不支持账号和密码的直接gitbash操作。在我们托管平台多项目多,比如公司用的gitlab、而同时也参加一些开源项目在github、gitee等代码托管平台上;那么如何利用手中的一台开发机,同时支持多个代码托管平台的代码免密进行代码提交拉取等操作呢?这篇文章告诉你答案。
二、步骤
- 清除全局的帐号
git config --global --unset user.name
git config --global --unset user.email
在用户目录下的.ssh目录下生成ssh免密登录公钥和私钥
- .ssh/目录(
C:\Users\自己的用户名\.ssh
)下,右键Git Bash Here,打开git-bash窗口
ssh-keygen -t rsa -C "gitee邮箱地址" -f ~/.ssh/gitee_star_rsa
按三次回车后,同样在文件夹中看到了生成的Github私钥gitlab_rsa和公钥gitlab_rsa.pub
- 将公钥配置到对应的gitlab账号中
公钥 即.pub文件可以直接用文本打开,内容粘贴到github的Settings -> SSH and GPG keys -> New SSH Key,Title随便起,自己能认出来即可,Key里面填写复制的.pub里的内容,同样步骤操作github平台
ssh-keygen -t rsa -C "gitee邮箱地址" -f ~/.ssh/gitee_star2_rsa
三、创建config文件
- 在.ssh目录下创建config 文件,git通过这个文件才知道哪个私钥去对应哪个公钥。
- 缩进一个table,如果报错可以看下缩进。
Host star.gitee.com
port 22
User Star
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_star_rsa
Host tianhe.gitee.com
port 22
User Star
HostName gitee.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitee_tianhe_rsa
四、测试ssh-key是否连通
ssh -T git@star.gitee.com
Hi yuncopy! You've successfully authenticated, but GitHub does not provide shell access.
成功的情况返回如上所示。