一台电脑配置两个Git账号(github和gitlab),不同仓库使用不同的git

我们工作时一般都是使用gitlab,工作电脑也一般配置的 git 是连接 gitlab 的,那么当我们如果想用同一个电脑实现不同仓库根据自己的需要到底是推送代码到github还是 gitlab,以及使用哪个账号,(比如如果想用工作电脑维护自己的 github 项目,但是怕后面被公司追究用工作电脑干私事,省点心力),可以按照如下教程配置一下 git,新配置一个 git,把 git 的公钥放到 github,使用 git 命令修改指定仓库的git用户名和邮箱,这样这个仓库就能按照我们设置的账号提交代码到 github了。

具体步骤

1、生成新的公钥文件

id_rsa**_github** 后缀可以按照自己的需求修改,最后是你的 github 所绑定的邮箱,执行命令后,一路按回车就行

复制代码
ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "[email protected]"

2、配置新 git 公钥到 github

进入 ~/.ssh 文件夹下,会看到 2 个新文件, id_rsa_githubid_rsa_github.pubid_rsa_github.pub存的就是公钥。

执行more id_rsa_github.pub 命令查询公钥。复制输出的所有内容,进入 github 的 ssh 配置页面,添加公钥。

3、修改 config 文件

在 .ssh/config 文件中配置新 git 账号的用户名和github域名

复制代码
# gitlab
Host gitlab.com
  HostName gitlab.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa
  User zhangsan # gitlab用户名

# github
Host github.com
  HostName github.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_rsa_github
  User zhangsan123 # github 用户名,不一定要跟 github 用户名相同,可以自定义想叫的名字,但是需要跟下面配置的 git 用户名保持一致

4、测试能否连接 github成功

执行 ssh -T [email protected],如果输出如下内容说明是连接成功。

复制代码
Hi luoChunhui-1024! You've successfully authenticated, but GitHub does not provide shell access.

5、设置指定仓库使用 github 账号来进行 git 提交

git clone 拉取仓库或者 git init 仓库后,进入指定仓库,执行如下命令,就成功把该仓库设置成使用新 git 账号来提交代码了,可以提交一些代码变更测试一下。

复制代码
git config user.email "[email protected]"
git config user.name "zhangsan123" # 需要跟 config 文件里设置的用户名保持一致

参考

一台电脑配置两个Git账号

一台电脑绑定两个git帐号(GitHub和GitLab)

附录

可以使用以下 Git 命令来查看你配置的邮箱和用户名:

查看全局配置的邮箱和用户名(适用于所有项目):

bash 复制代码
git config --global user.email
git config --global user.name

查看当前项目配置的邮箱和用户名:

bash 复制代码
git config user.email
git config user.name
相关推荐
uhakadotcom1 小时前
快速开始使用 n8n
后端·面试·github
uhakadotcom2 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
咖啡教室4 小时前
日常开发中常用的git操作命令和使用技巧
git
uhakadotcom6 小时前
MQTT入门:轻量级物联网通信协议
后端·面试·github
uhakadotcom7 小时前
阿里云STS:安全、灵活的临时访问管理
后端·面试·github
uhakadotcom8 小时前
Flutter入门指南:快速构建高性能移动应用
面试·架构·github
uhakadotcom8 小时前
React 和 Next.js 的基础知识对比
前端·面试·github
uhakadotcom9 小时前
SwiftUI 入门指南:快速构建跨平台应用
面试·架构·github
uhakadotcom10 小时前
OpenTelemetry入门:让你的应用程序更透明
后端·面试·github
carterwu10 小时前
git工作流程的分类和对应场景
git