0


单终端双git账号配置

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

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

  1. 删除全局Git配置:如果之前配置了全局的用户名称和邮箱,需要先清除这些设置,以免它们影响到特定仓库的配置。- 查看global配置git config --global--l- 释放全局名字和邮箱变量git config --global--unset user.namegit config --global--unset user.email
  2. 生成新的SSH密钥:为每个Git账户生成一个新的SSH密钥。在生成密钥时,可以为每个密钥指定一个独特的文件名 **id_rsa_github**。ssh-keygen -t rsa -C"[email protected]"-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 AccountHost HostNameA HostName github.com User git IdentityFile ~/.ssh/id_rsa_github# GitLab AccountHost 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@HostNameAssh-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 "[email protected]"当然这也可以在vscode添加字段[user]在这里插入图片描述
  7. git clone 下载- 将原来github.com替换为Host别名git clone [email protected]:user/demo.gitgit clone git@HostNameA:user/demo.git不然会出现以下错误[email protected]: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
标签: git ssh

本文转载自: https://blog.csdn.net/weixin_45367434/article/details/141221311
版权归原作者 yang7hi 所有, 如有侵权,请联系我们删除。

“单终端双git账号配置”的评论:

还没有评论