单终端双git账号配置

对于在一台电脑上配置多个Git账号的需求,使用场景是非常常见的。很多开发者会在不同的平台(如GitLab, GitHub, Gitee等)上拥有多个账号用于不同的目的,例如工作和个人学习。假设读者已经安装并配置好 Git,并且在本地拥有一个 Git 账号

下面是一些关于如何在同一台终端上配置和管理多个Git账号的提示,做下记录:

  1. 删除全局Git配置:如果之前配置了全局的用户名称和邮箱,需要先清除这些设置,以免它们影响到特定仓库的配置。

    • 查看global配置
    git config --global --l
    
    • 释放全局名字和邮箱变量
    git config --global --unset user.name
    git config --global --unset user.email
    
  2. 生成新的SSH密钥:为每个Git账户生成一个新的SSH密钥。

    在生成密钥时,可以为每个密钥指定一个独特的文件名 id_rsa_github

    ssh-keygen -t rsa -C "your_email@example.com" -f ~/.ssh/id_rsa_github
    

    转到指定生成公私钥的目录 ~/.ssh

  3. 将公钥添加到各个Git平台:打开 id_rsa_github.pub 文件并复制里面的内容。登录到Git平台,选择 Settings,将生成的公钥添加到对应账户的SSH keys设置中。

  4. 配置SSH config文件:新建~/.ssh/config文件,为每个账户设置配置,这包括指定每个账户的HostName、User、IdentityFile等。

    # GitHub Account
    Host HostNameA
      HostName github.com
      User git
      IdentityFile ~/.ssh/id_rsa_github
    
    # GitLab Account
    Host HostNameB
      HostName gitlab.com
      User git
      IdentityFile ~/.ssh/id_rsa_gitlab
    

    配置文件说明

    # Host:这是一个别名,用于在Git命令中指定要使用的配置,比如git clone git@gitlab:repo.git中的gitlab就是Host的别名。
    # HostName:这是Git服务器的实际地址,比如gitlab.com、github.com等。
    # User:Git服务器的登录用户名,对于大多数Git服务器,如GitHub和GitLab,这里通常是git。
    # IdentityFile:这是SSH密钥文件的路径,用于身份验证。它指向你为特定Git账户生成的私钥文件。
    

    配置完成后,Git 和 SSH 将自动使用你为每个主机指定的配置。

  5. 测试SSH连接:确保每个SSH连接都可以正确工作。

    ssh -T git@HostNameA
    ssh -T git@HostNameB
    # 正确工作输出
    > Hi <Your GitHub Username>! You've successfully authenticated, but GitHub does not provide shell access.
    > Hi <Your Gitlab Username>! You've successfully authenticated, but Gitlab does not provide shell access.
    
  6. 项目级别的用户信息配置:在每个具体的项目目录下,可以根据需要设置特定的用户信息。

    git config user.name "Your Name"
    git config user.email "your_email@example.com"
    

    当然这也可以在vscode添加字段[user]

    在这里插入图片描述

  7. git clone 下载

    • 将原来github.com替换为Host别名
    git clone git@github.com:user/demo.git
    git clone git@HostNameA:user/demo.git
    

    不然会出现以下错误

    git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. 
    Please make sure you have the correct access rights and the repository exists.
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值