二、配置多个git仓库和账户

git多仓库配置

 自己在github建了个仓库,然后配置访问不了,上网查了下怎么用不同账号在本地配置多个git仓库。

一、查看git config配置

config配置有3个层级

  • system(系统级别)
  • global(用户级别)
  • local(仓库级别)

一般都会配置用户级别

$ git config --global --list

二、配置多个git的用户名和邮箱

a、单个配置

$ git config --global user.name "yourusername"
$ git config --global user.email "youremail@email.com"

b、多个配置

账户1生成

$ git config user.name "1"
$ git config user.email "1@hotmail.com"

账户2

$ git config user.name "1"
$ git config user.email "1@hotmail.com"

注意: 这里git config命令没有带—global,表示这是一个局部的设置,也就是这个用户是当前项目的,而不是全局的。

c、删除某个配置

$ git config --unset user.name
$ git config --unset user.email

三、生成多个密钥

我个人配置了github和gitee以及公司的git

1、生成gitte仓库的SSH

$ ssh-keygen -t rsa -C "A@hotmail.com"

第一个输入文件名称,剩下两项不需要输入

2、生成github仓库的SSH

$ ssh-keygen -t rsa -C "B@hotmail.com"

四、配置多个仓库

在生成密钥的.ssh 目录下,新建一个config文件,然后配置不同的仓库,如下:

# 新建文件
vim config 

# 把下面的内容粘贴到config文件中

# gitee的配置
host gitee.com  # 别名,最好别改
Hostname gitee.com #要连接的服务器
User yuchun.yan #用户名
#密钥文件的地址,注意是私钥
IdentityFile ~/.ssh/gitee_id_rsa  

#github 配置
host github.com #别名
Hostname github.com
User yuchun.yan
IdentityFile ~/.ssh/github_id_rsa

如果还有其它仓库,按照这个去配置就可以

五、增加新的私钥

使用ssh的ssh-add命令将密钥添加到 ssh-agent 的高速缓存中,方便使用。

$ ssh-agent bash
//仓库1的私钥
$ ssh-add ~/.ssh/gitee_id_rsa

//仓库2的私钥
$ ssh-add ~/.ssh/github_id_rsa

六、补充

 查看项目目录下的.git/config文件,可以找到当前项目的git配置,如下配置:

[core]
    repositoryformatversion = 0
    filemode = true
    bare = false
    logallrefupdates = true
    ignorecase = true
    precomposeunicode = true
[remote "origin"]
    url = https://gitee.com/eatingAndCoding/leetcode.git
    fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
    remote = origin
    merge = refs/heads/master
[branch "20190814_twosum_js"]
    remote = origin
    merge = refs/heads/20190814_twosum_js
[branch "20190814-twoSum-js"]
    remote = origin
    merge = refs/heads/20190814-twoSum-js
[user]
    name = mars_yuchun
    email = yuchunextremeli@icloud.com

如果你在上面手欠设置了别名的话,就把对应的hostname用别名替代就可以了。

推荐阅读更多精彩内容