git配置

如何配置git

  1. 生成并部署SSH key
    打开git bash,输入以下命令生成 SSH Key
    ssh-keygen -t rsa -C “xxxxx@xxxxx.com“ (该邮箱为Github/GitLab注册邮箱)

  2. 在相应的.ssh目录下会生成名为id_rsa私钥文件和id_rsa.pub公钥文件, 打开id_rsa.pub公钥文件,复制里面的公钥添加到Github/GitLab的添加SSH秘钥处。

  3. 然后在git bash中输入以下命令测试Github/GitLab的SSH秘钥是否部署成功。
    ssh -T git@github.com

出现以下提示,表示部署Github/GitLab的SSH key成功

Hi kid-297! You’ve successfully authenticated, but GitHub does not provide shell access.

如何配置多个git

在工作和学习时候,难免会遇到一台电脑同时使用多个Github/GitLab的情况。下面讲述下如何配置多个。

  1. 如上已经配置生成好了一个公钥和私钥。我们在生成第二个或者更多个的时候,需要起不同的名字。不能再使用默认的文件名id_rsa, 否则会覆盖之前的gitLab的秘钥文件。 这里保存为id_rsa_work:
    ssh-keygen -t rsa -f ~/.ssh/id_rsa_work -C “xxxxx@xxxxx.com

  2. 这时候就会在.ssh目录下又生成一对公私钥文件,同样是打开公钥文件id_rsa_work .pub,复制里面的公钥添加到Github/GitLab SSH秘钥处。

  3. 添加秘钥到SSH Agent
    因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加的SSH agent中。
    ssh-agent bash
    ssh-add ~/.ssh/id_rsa
    ssh-add ~/.ssh/id_rsa_work

  4. 创建并配置config文件
    在.ssh目录下创建一个config文本文件,添加相关配置。
    每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostName和IdentityFile两个属性即可。

我的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# github
Host github
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa

# work github
host gitlab
#这个是真实的域名地址
HostName (此处填写GitLab的IP或者网址)
#配置使用用户名
User kid
# 配置登录时用什么权限认证 可设为publickey,password publickey,keyboard-interactive等
PreferredAuthentications publickey
#这里是id_rsa的地址
IdentityFile ~/.ssh/id_rsa_work

这个时候再通过终端测试是否部署SSH Key成功

注:用户名和邮箱的配置
因为一台电脑上配置了多个git账号,所以就不能再配置全局的用户名和邮箱了,而是在不同的仓库下,如果需要连接不同的git账号,配置相应的局部用户名和邮箱即可,如果之前配置过全局的用户名和邮箱,需要取消配置
git config –global –unset user.name
git config –global –unset user.email

配置局部的用户名和邮箱
git config user.name “xxxx”
git config user.email “xxxx@xx.com

注:本博客大部分内容出自 windows下在一台电脑上配置多个git账号。感谢作者,解我搭建之坑,特此记录!