一台电脑配置两个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 "xxx@qq.com"

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 git@github.com,如果输出如下内容说明是连接成功。

复制代码
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 "xxx@xx.com"
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
相关推荐
qq_4352879216 小时前
第9章 夸父逐日与后羿射日:死循环与进程终止?十个太阳同时值班的并行冲突
java·开发语言·git·死循环·进程终止·并行冲突·夸父逐日
James_WangA19 小时前
我给 AOI 设备装了一个 Agent,然后发现工具注册才是最难写的
架构·github
James_WangA19 小时前
产线上跑 Agent:LLM 挂了不是 500 错误,是停线
架构·github
AIMath~1 天前
Git 子模块(Submodule)目录结构清除实战复盘
git
Hommy881 天前
【开源剪映小助手】字幕接口
开源·github·aigc·剪映小助手·视频剪辑自动化
切糕师学AI1 天前
Ubuntu 下 Git 完全使用指南
linux·git·ubuntu
lisanmengmeng1 天前
Gitlab搭建
gitlab
一袋米扛几楼981 天前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue
尘埃落定wf1 天前
# GitHub CLI:告别繁琐的 Git 命令,让开发更高效
git·github
恋喵大鲤鱼1 天前
git clone
git·git clone