亲测本地电脑同时配置gitee和github账号,实现ssh免密拉取和提交代码

本文详细介绍了在同一台电脑上配置两个不同的GitHub/GitLab账户,通过生成两对私钥/公钥,设置不同Host对应同一HostName但密钥不同,以及取消git全局用户名/邮箱设置,为每个仓库独立设置用户名/邮箱的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题
本地已配置了githup ssh,如何配置gitee支持ssh拉取源码?

思路
ssh 方式链接到 Github/GitLab,需要唯一的公钥,如果想同一台电脑绑定两个Github/GitLab 帐号,需要两个条件:
1.能够生成两对 私钥/公钥
2.push 时,可以区分两个账户,推送到相应的仓库

解决方案
1.生成 私钥/公钥 时,密钥文件命名避免重复
2.设置不同 Host 对应同一 HostName 但密钥不同
3.取消 git 全局用户名/邮箱设置,为每个仓库独立设置 用户名/邮箱

解决步骤
1.查看已有githup配置

ls ~/.ssh

2.生成新公钥

ssh-keygen -t rsa -f ~/.ssh/id_rsa_gitee -C "your email@xx.com"

在这里插入图片描述

3.复制id_rsa_gitee.pub的公钥到远程ssh配置处(省略)
4.配置config文件。在 .ssh 文件夹下新建 config文件并编辑,使不同 Host 实际映射到同一HostName,但密钥文件不同。

# default                                                                       
Host github.com
HostName github.com
User songyp
IdentityFile ~/.ssh/id_rsa
# two                                                                           
Host gitee.com
HostName gitee.com
User git
IdentityFile ~/.ssh/id_rsa_gitee

5.测试 ssh 链接

ssh -T git@gitee.com
ssh -T git@github.com
# Hi XXX! You've successfully authenticated, but GitHub does not provide shell access.
# 出现上边这句,表示链接成功

在这里插入图片描述

6.取消全局 用户名/邮箱设置,并进入项目文件夹单独设置。git config命令要到工程目录下执行。
电脑平时使用githup比较多,可以把githup的账户设置为全局,然后在单独的需要用别的账号的工程下配置对应的账号。
这样就不用频繁地做这个配置。

# 取消全局 用户名/邮箱 配置
git config –global –unset user.name
git config –global –unset user.email
# 单独设置每个repo 用户名/邮箱
git config user.email “xxxx@xx.com”
git config user.name “xxxx”
### 使用 Gitee 图床的相关配置 #### 工具准备 在使用 Gitee 图床之前,需要准备好一些基础工具。通常情况下,可以借助 PicGo 这类插件化工具完成图床的上传功能[^1]。 #### 安装 PicGo PicGo 是一款支持多种图床服务的开源工具,可以通过其图形界面轻松配置并上传图片至指定的服务商。下载地址可参考官方发布页面[^3]。安装完成后启动程序即可进入下一步操作。 #### 配置 Gitee 图床 打开 PicGo 后,在设置选项中选择「图床」标签页,并点击「添加新的图床」按钮。随后可以选择 Gitee 类型作为目标存储位置[^2]。以下是具体的参数填写说明: - **Token**: 登录 Gitee 账号后前往个人主页获 API Token。 - **Repository Name (仓库名称)**: 填写用于保存图片的目标仓库名。 - **Branch (分支)**: 默认为主分支 `master` 或其他自定义分支。 - **Custom Path (自定义路径)**: 可选填入子目录结构以便分类管理文件。 完成上述字段输入之后试连接成功与否再保存设定即告一段落[^4]。 #### 实际运用场景举例 当撰写 Markdown 文档时如果希望快速插入本地截图,则只需选定区域复制粘贴到编辑器窗口内;此时后台会自动调用已设好的流程把图像传送到远程服务器上同时生成对应的访问链接嵌套回原文当中去。 ```python import requests def upload_image_to_gitee(image_path, token, repo_name, branch="main"): url = f"https://gitee.com/api/v5/repos/{repo_name}/contents/" headers = {"Authorization": f"token {token}"} with open(image_path, 'rb') as img_file: files = {'file': img_file.read()} response = requests.post(url, headers=headers, data={'branch': branch}, files=files) if response.status_code == 201: return response.json()['content']['download_url'] else: raise Exception(f"Upload failed: {response.text}") ``` 此段脚本展示了一个简易版利用 Python 请求库向 Gitee 提交媒体资源的方法示例。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值