Git 的这个神技,学会爽歪歪~

简介: 现在大多数公司都有 GIT 来管理代码版本控制了,既然用到 GIT,相信大家都接触过 Github、Gitlab、Gitee 这些远程仓库,或者是公司内部自行搭建的 GIT 仓库。

现在大多数公司都有 GIT 来管理代码版本控制了,既然用到 GIT,相信大家都接触过 Github、Gitlab、Gitee 这些远程仓库,或者是公司内部自行搭建的 GIT 仓库。


当用到 SSH 方式来连接 GIT 仓库的时候,难免会同时用到多个仓库,一般生成公私钥的默认配置文件为:


私钥:C:\Users\xxx.ssh\id_rsa

公钥:C:\Users\xxx.ssh\id_rsa.pub

那么问题来了,我先生成 Github 的,再生成 GitLab 的,那么后面配置的 Gitlab 的公私钥文件会覆盖前面配置 Github 的,从而导致 Github 仓库无法连接。。


这样的配置只能同时连接一种类型的仓库,如何在同一台电脑做到同时连接多个不同的仓库呢?


一、生成多个仓库公私钥

1、生成 Github 的:


ssh-keygen -t rsa -b 4096 -C "your_email@github.com" -f ~/.ssh/github_id_rsa


2、生成 Gitlab 的:


ssh-keygen -t rsa -b 4096 -C "your_email@gitlab.com" -f ~/.ssh/gitlab_id_rsa


后面有多个仓库都依此类推,用 -f 来指定不同的文件名称:xxx_id_rsa,从而区分不同的仓库类型,而不用担心被后面默认生成的覆盖。


二、将公钥添加到仓库里面

复制 xxx_id_rsa.pub 公钥文件里面的内容到对应仓库里面,以下 Github 示例:


image.png


三、添加 config 配置

在 ~/.ssh 目录下创建 config 文件,添加以下内容:

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_id_rsa
# gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab_id_rsa
# 多个依此类推
# ...

四、测试连通性

分别测试多个仓库的连通性,验证配置是否生效。

1、测试Github:

$ ssh -T git@github.com

2、测试Gitlab:

$ ssh -T git@gitlab.com

以下是 Github 连通示例:

$ ssh -T git@github.com
Enter passphrase for key '/c/Users/xxx/.ssh/github_id_rsa':
Hi javastacks! You've successfully authenticated, but GitHub does not provide shell access.

这样配置完,我们就能愉快的使用各种不同的仓库了~

相关文章
|
7月前
|
安全 Linux 开发工具
狂神聊Git~
狂神聊Git~
|
2天前
|
数据可视化 Linux 开发工具
git葵花宝典,GitLabWeb
git葵花宝典,GitLabWeb
5 0
|
9月前
|
缓存 Linux 网络安全
《游戏测试》git培训(上)
《游戏测试》git培训(上)
《游戏测试》git培训(上)
|
8天前
|
存储 Linux 开发工具
你再不学Git就来不及了!!!
版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。除了项目源代码,你可以对任何类型的文件进行版本控制。
65 1
|
7月前
|
Unix Linux 开发工具
|
9月前
|
安全 开发工具 git
Git奇幻之旅二
今天我要给你讲一个关于Git的故事,希望你能从中学到一些常用的命令!
|
9月前
|
安全 程序员 开发工具
Git奇幻之旅一
今天我要给你讲一个关于Git的故事,希望你能从中学到一些常用的命令。
|
11月前
|
机器学习/深度学习 存储 开发工具
git奇技淫巧
git奇技淫巧
68 0
|
存储 前端开发 Shell
Git 的奇技淫巧
Git 是一个 “分布式版本管理工具”,简单的理解版本管理工具:大家在写东西的时候都用过 “回撤” 这个功能,但是回撤只能回撤几步,假如想要找回我三天之前的修改,光用 “回撤” 是找不回来的。而 “版本管理工具” 能记录每次的修改,只要提交到版本仓库,你就可以找到之前任何时刻的状态(文本状态)。
92 0
|
网络安全 开发工具 git
Git 的这个神技,学会爽歪歪~
Git 的这个神技,学会爽歪歪~
135 0
Git 的这个神技,学会爽歪歪~

相关实验场景

更多