IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 本地配置多个git账户(公司、GitHub) -> 正文阅读

[开发工具]本地配置多个git账户(公司、GitHub)

在公司探索新知识(摸鱼)时,我们一般会需要在GitHub上维护维护自己的小仓库。
这样如果使用原来的配置就会发生Push代码时Permission Denied了。
所以我们有以下几步:
公司电脑是Mac,所以以下内容均为Mac上的操作,但不同操作系统其实大同小异。

不同仓库配置不同的提交用户信息

我们在公司电脑上主要还是提交公司的代码,所以为了方便,git的global用户信息可以设置为公司要求的name和email。
在自己的仓库下配置git账号信息可以覆盖掉全局的。

cd <你的仓库地址>
git config user.name <你的GitHub账户名>
git config user.email <你的GitHub账户邮箱>

生成不同的ssh密钥

# -C后接邮箱地址,例:-C "aaa@qq.com"
# -f后接生成密钥的路径(同时包含了密钥的文件名),这样就不用在生成时单独输入密钥文件名
# 不同的密钥文件名要区分不同文件名,以下是GitHub的ssh密钥示例
ssh-keygen -t rsa -C "<GitHub邮箱>" -f ~/.ssh/id_rsa_github

# 这之后直接回车就行了

进入ssh文件夹,可以看到我本地生成了两个,一个是默认名称id_rsa,一个是GitHub的id_rsa_github,分别还有它们的公钥。
在这里插入图片描述

创建ssh配置文件

在上图可以看到我的ssh文件夹下有config文件,如果你从来没有配置过,那你的本地可能是没有这个文件的。

vim ~/.ssh/config

# vim新手教程
# 按i键进入插入模式(进入插入模式才能输入内容),左下角有INSERT字样
# 输入完毕后按ESC突出插入模式,左下INSERT消失
# 按 :(英文) 键进入命令模式,光标移到了窗口最底下
# 输入wq保存并退出(w:保存,q:退出,可单独使用)

# config文件插入以下内容,多个账号可以配置多组,中间建议间隔一行,这里只实例GitHub
Host git@github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_github

# Host 为使用ssh时的别名,在之后配置仓库远程地址时用到
# HostName 为远程仓库的域名
# User 一般为git,了解到好像填其他的也没太大影响
# IdentityFile 为生成的对应的ssh密钥文件

在远程仓库添加ssh公钥

GitHub官方教程

# 将公钥打印到命令行中方便复制
cat ~/.ssh/id_rsa_github.pub
  1. 在任何页面的右上角,单击您的个人资料照片,然后单击 Settings(设置)。在这里插入图片描述
  2. 在用户设置侧边栏中,单击 SSH and GPG keys(SSH 和 GPG 密钥)。在这里插入图片描述
  3. 单击 New SSH key(新 SSH 密钥)或 Add SSH key(添加 SSH 密钥)。
    在这里插入图片描述
  4. 刚刚复制的公钥内容粘贴到下图Key中,Title写上方便你自己认识这个密钥的描述性内容在这里插入图片描述

测试ssh链接

ssh -T git@github.com
# 这里-T后面接上的就是之前config文件中的Host别名

# 如果看到以下内容,说明你已经成功了
# Hi <你的GitHub账户名>! You've successfully authenticated, but GitHub does not provide shell access.

配置仓库远程地址

# 原来配置远程仓库地址时我们使用https地址
git remote add origin https://github.com/<你的GitHub账户名称>/<你的仓库名称>.git

# 现在我们使用config文件中的Host别名
git remote add origin git@github.com:<你的GitHub账户名称>/<你的仓库名称>.git

使你的ssh密钥持续生效

但我之所以写下这篇文章,就是因为我不是第一次配置了。
为了方便你以后不用再麻烦,请继续看。
当你重启一次电脑后,你的ssh密钥就没有被托管了,push代码的时候就会Permission Denied。
当然你可以重复以上步骤解决,但我们希望有更优雅的解决方式。原因在这个文章里说了,感兴趣的可以了解一下。
是否必须每次添加ssh-add

我们可以通过ssh-add命令将我们的ssh密钥重新添加到ssh-agent进行代理托管

ssh-add ~/.ssh/id_rsa_github

但是仍然会出现重启后失效的问题,所以我们可以将这个命令添加到命令行配置文件中。

vim ~/.zshrc

# 添加以下内容,亦可添加多个密钥
# 将GitHub的ssh密钥添加到ssh-agent
ssh-add ~/.ssh/id_rsa_github
# 然后保存退出
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:41:44  更:2021-10-20 12:44:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/23 18:54:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计