一台电脑配置两个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
相关推荐
小华同学ai29 分钟前
relationship: Star3.2k,牛B啊,小米手机上也在用,这个项目人人都能用得上的开源项目,抓紧收藏起来吧~~~
github
哆啦 AI 梦1 小时前
【Git_bugs】remote error GH013 Repository rule violations found for.md
git·rebase·github push 失败
cominglately1 小时前
macos git上传通过全局设置不上传.DS_Store
git·macos·.ds_store
TullyL2 小时前
完整的将本地工程上传到GitHub的步骤+常用的Git更新和撤回命令
经验分享·git·学习·github
三仙桥2 小时前
Git 的基本概念和使用方式
git
aiguangyuan2 小时前
大厂开发规范-如何规范的提交Git
git·代码管理
ObjectX前端实验室2 小时前
交互式md文档渲染实现
前端·github·markdown
Tfly__3 小时前
ubuntu 18.04安装GCOPTER(最新)
linux·c++·ubuntu·github·ros·无人机·运动规划
『 时光荏苒 』3 小时前
mac如何查看使用git克隆下来的文件.git 文件【收藏版】
git·macos
HIT_Weston7 小时前
16、【ubuntu】【gitlab】【补充】服务器断电后,重启服务器,gitlab无法访问
服务器·ubuntu·gitlab