聊下 git 多账户问题

git 多账户问题

标签(空格分隔):git github gitlab git多账户

  • 背景
  • git 多账号配置
  • ssh 多密钥对配置

背景

在使用 git 的时候我们都会面临多账户问题,比较常见的就是公司内部的 gitlab,开源平台 github ,我们都需要在一台电脑上同时使用,这需要解决两个问题。

git 多账号配置

git config --global user.name 设置全局用户名 git config --global user.email 设计全局邮箱

git config --global 设置默认会作用所有的 git repository ,当我们分别 git clonegitlabgithubrepository 时,需要分别为每个 git clone 下来的 repository 设置当前仓库的 user.nameuser.email

这个问题请参见本人的 git 系列文章 -> 聊下 git 使用前的注意事项

ssh 多密钥对配置

我们都知道 git 是基于 ssh 协议,git 通过 ssh agent 建立与远程链接和验证。

ssh 通过 rsa 私钥进行加密传输到 git servergit server 再通过查找对应的 rsa pub key 进行解密,以验证是否当前提交过来的合法信息。

我们通过 ssh-keygen 分别创建不同的 rsa 密钥对,如果你没有特殊处理过公司内部私有的密钥对一般都是默认的名称 id_rsaid_rsa.pub

如果我们是第一次创建 git 账号,第一次可以纯粹默认的创建过程

ssh-keygen -t rsa

一路 enter 回车,然后配置好公司内部的 gitlab ,正常提交。

然后再通过 ssh-keygen 创建的时候另起一个名字,比如 githubgithub.pub 一对,这和创建默认的 idid.pub 没什么区别。

然后通过 ssh-add 将新创建的 github 专用密钥添加进 ssh-agent cache 中。

ssh-add ~/.ssh/github

然后查看 ssh agent 密钥 cache 列表。

ssh-add -l

再将 github.pub 公钥配置到我们的 github 的账号中就可以了。

然后就能正常使用gitlab、github 了。如果你不放心怕两个key 混淆了,你可以将其中一个key从ssh agent 中移除。

ssh-add -d ~/.ssh/github

然后在试着git push 代码,如果不错说明就正确了。

谢谢。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏运维小白

2.8 创建和删除目录mkdir/rm

mkdir mkdir = make directory mkdir就是创建目录,不能级联创建目录 date 显示当前时间 mkdir -p ...

1969
来自专栏黑泽君的专栏

Ubuntu 16.04 LTS中没有.ssh文件,该如何解决呢?

sudo apt install openssh-server  或者  sudo apt-get install openssh-server

941
来自专栏技术博文

Git 服务器搭建

接下来我们将以 Centos 为例搭建 Git 服务器。 1、安装Git $ yum install curl-devel expat-devel gettex...

3426
来自专栏GreenLeaves

Nginx学习系列三Nginx的启动、停止、修改配置文件后重启

第二步:通过mster进程的进程号进行关闭   kill -QUIT Nginx master进程号

1333
来自专栏LIN_ZONE

php项目,别人无法访问自己(windows 系统)上Apache服务器原因(转载)

2.windows默认带防火墙的,进入 控制面板-系统和安全-Windows 防火墙-允许的程序(win10系统的是:进入 控制面板-允许应用或功能通过Wind...

623
来自专栏一个默默无闻的工程师的日常

Trystack创建实例并通过ssh远程登录虚拟机

2003
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装Icinga和Icinga Web

Icinga是一个灵活而强大的开源监控系统,用于监控网络主机和服务的运行状况。它可用于监视Web worker集群的负载和正常运行时间,存储设备上的可用磁盘空间...

2274
来自专栏Laoqi's Linux运维专列

利用svn钩子hooks/post-commit实现代码自动部署

1303
来自专栏Jerry的SAP技术分享

如何给VirtualBox虚拟机的ubuntu LVM分区扩容

我在VirtualBox安装的ubuntu里安装Cloud Foundry时遇到错误信息,磁盘空间不够了:

3614
来自专栏云原生架构实践

Jhipster技术栈理解 - UAA原理分析

密码模式(Resource Owner Password Credentials)中,用户向客户端提供自己的用户名和密码。客户端使用这些信息,向"认证服务器"进...

2323

扫码关注云+社区