git管理多账号

管理多个git账号

1、查看已配置的Git账号列表

git config --list

2、查看是否已经配置过全局用户名和邮箱

git config --global user.name
git config --global user.email

3、生成SSH keys

  1. 生成gitlab秘钥,名字id_rsa_github自定义起
    cd ~/.ssh
    ssh-keygen -t rsa -C "xxx@xx.xom"
    Enter file in which to save the key (/Users/xx/.ssh/id_rsa):id_rsa_gitlab
  2. 生成github秘钥
    cd ~/.ssh
    ssh-keygen -t rsa -C "xxx@xx.xom"
    Enter file in which to save the key (/Users/xx/.ssh/id_rsa):id_rsa_github

4、将私钥添加到本地

ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitee
ssh-add ~/.ssh/id_rsa_gitlab

1)这一步如果报以下错误:

使用如下命令:

eval `ssh-agent -s`

2)错误2:

git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

# 解决方式:
ssh-agent bash
ssh-add -l  # The agent has no identities 则上面未add成功
ssh-add ~/.ssh/id_rsa_xxx
ssh -T git@github.com  # 提示successfully

5、查看已添加的密钥

ssh-add -l

6、 vim ~/.ssh/config

Host github1 // 网站的别名,自己取
HostName github.com // 托管网站的域名
User xxx1 // 托管网站上的用户名
IdentityFile ~/.ssh/id_rsa_github_xxx1 // 使用的密钥文件


Host github2 // 网站的别名,自己取
HostName github.com // 托管网站的域名
User xxx2 // 托管网站上的用户名
IdentityFile ~/.ssh/id_rsa_github_xxx2 // 使用的密钥文件

7、将公钥添加到托管网站

vim id_rsa_github.pub的内容加入到对应网站的ssh配置部分

8、使用网站域名测试

ssh -T git@github.com

9、远程clone的代码不需要在配置用户名和邮箱,本地仓库往远程仓库提交代码时

需在本地项目仓库下先配置用户名和邮箱和修改本地仓config信息

git config user.name "xxx"
git config user.email "xxx@xx.com"
cd .git // 切换到.git目录
vim config
[remote "origin"]
        url = git@gitlab:xx/xxx.git
        fetch = +refs/heads/*:refs/remotes/origin/*

设置多Git账户的核心内容是为不同的Git设置不同的秘钥并分别配置,仓库中的关键是要配置好用户名和邮箱,以及使用别名。

posted @ 2022-09-30 11:24  鱼的记忆·  阅读(97)  评论(0)    收藏  举报