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

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

image.png

现在大多数公司都有 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.

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

相关文章
|
传感器 数据采集 数据格式
RS485和Modbus通信协议,让工业自动化更高效!
RS485和Modbus通信协议,让工业自动化更高效!
|
JSON 前端开发 Android开发
Android MVI框架搭建与使用(上)
Android MVI框架搭建与使用(上)
642 0
|
机器学习/深度学习 人工智能 前端开发
使用 Google MLKit 进行图像识别
MLKit 是 Google 提供的移动端机器学习库。工程师仅通过少量代码就能在 Andorid 或 iOS 上实现各种 AI 能力,例如图像、文字、人脸识别等等
3241 0
|
Android开发 架构师
Android:动态更换桌面ICON
前言 当老板和产品提出这种需求的时候,我并不感到害怕,心里甚至有点窃喜,因为大厂基本都有这种效果,那肯定也好实现。当我一查资料的时候,发现情况不容乐观。
5432 0
|
6月前
|
Oracle Java 关系型数据库
CentOS 7 安装 jdk-7u25-linux-x64.tar.gz 详细步骤(解压配置环境变量)
本文详细介绍了在Linux系统中手动安装JDK 7u25的完整流程:从下载老旧版本安装包、解压至`/usr/local/java`,到配置`JAVA_HOME`等环境变量,最后验证`java -version`与`javac -version`。步骤清晰,适用于需兼容旧项目的场景。(239字)
|
存储 前端开发 Java
Android MVVM架构模式下如何避免内存泄漏
Android采用MVVM架构开发项目,如何避免内存泄漏风险?怎样避免内存泄漏?
649 1
|
算法 Java Android开发
Android rxjava和LiveData中的内存泄漏
Android rxjava和LiveData中的内存泄漏
544 0
|
Shell iOS开发 MacOS
在macOS上安装Homebrew教程
在macOS上安装Homebrew教程
872 0
|
XML Android开发 数据格式
Android实战经验之Kotlin中快速实现动态更改应用图标和名称
本文介绍在Android中通过设置多个活动别名动态更改应用图标和名称的方法,涉及XML配置及Kotlin代码示例。
810 10
|
Java 开发工具 Android开发
[Android AIDL] --- AIDL原理简析
[Android AIDL] --- AIDL原理简析
862 0