IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> 在同一台电脑布置多个git账号(解决克隆失败问题) -> 正文阅读

[开发工具]在同一台电脑布置多个git账号(解决克隆失败问题)

1. 问题:

在Ubuntu20上布置了多个git账号,在进行克隆时候一直如下图所示:
在这里插入图片描述

2. 解决方法如下(包括完整的配置多个git账号过程)

2.1 步骤一:移除git全局设置

之前只配置一个git账户的时候,大部分人都会按照教程配置了全局用户名和邮箱,这里首先应该移除之前的设置(可参考https://blog.csdn.net/q13554515812/article/details/83506172

  1. 检查是否已经进行过全局设置,打开终端,输入

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

    如果之前配置过,输完一行敲回车相应下面就会显示,如果没配置过就什么都没有(如下图)
    在这里插入图片描述

  2. 如果已经配置过,则移除全局设置

    git config --global --unset user.name
    git config --global --unset user.email
    
  3. 后面账户配置好后,可在相应的文件夹下配置局部账户,配置方法如下

    git config --local --unset user.name "username"
    git config --local --unset user.email "user@email.com"
    

2.2 步骤二:生成SSH KEY

  1. 打开终端,进入.ssh文件夹

    cd ~/.ssh
    
  2. 使用如下命令生成ssh key(在2022年3月15日之后,github不再支持SHA-1的加密方式,推荐使用ecdsa的方式)

    ssh-keygen -t ecdsa -b 521 -C "user@email.com"
    
    • 输入该命令后,弹出的第一个命令行要求输入密钥的文件名,这里一定要记住密钥的名称,这里举例输入id_ecdsa_own
    • 弹出的第二个命令行要求输入密钥的密码,如果没有什么特殊需求的话建议不输,直接回车,要不然以后忘记密码也很麻烦(如果自定义了密码一定要记清)
    • 之后一路回车到底
    • 最后输入命令ls,就会看到在.ssh/文件夹下,出现了两个文件id_ecdsa_ownid_ecdsa_own.pub(前缀是刚刚自定义的名字)

2.3 步骤三:在Github上创建SSH KEY

  1. 使用cat id_ecdsa_own.pub命令打开公钥,将里面的内容复制下来
  2. 打开Github,登录自己的账号进行SSH KEY的配置
    在这里插入图片描述
    在这里插入图片描述

2.4 步骤四:配置本地的SSH KEY

  1. 将私钥添加到本地,运行以下命令

    ssh-add ~/.ssh/id_ecdsa_own
    

    显示成功添加即可,可以通过如下命令检查私钥是否添加成功

    ssh-add -l
    

    如果出现添加失败的提示,可执行以下命令

    ssh-agent bash
    ssh-add ~/.ssh/id_ecdsa_own
    

    关于命令ssh-add的具体用法,可以参考https://www.jianshu.com/p/0c6719f33fb9

  2. 配置config文件

    • ~/.ssh下,打开config文件,如果没有该文件可以自己创建一个
      	vi config
      
    • 打开后,将文件填写如下

      #第一个账户
      Host github.com #托管网站的别名,随便写
      HostName github.com #托管网站的域名,如果是github就写这个
      User aaa #用户名,可自定义有辨识度的名字,后面要用到
      IdentityFile ~/.ssh/id_ecdsa_own #密钥的位置
      #
      #第二个账户
      Host github.com
      HostName github.com
      User bbb #与第一个账户不一样
      IdentityFile ~/.ssh/id_ecdsa_own2

  3. 测试配置是否成功

    • 运行以下命令
      ssh -T git@aaa.github.com
      ssh -T git@bbb.github.com
      
    • 如果出现如下提示,说明配置成功
      Hi XXX! You’ve successfully authenticated, but GitHub does not provide shell access.
      理想效果是XXX可以对应上config中所配置的账户
  4. 配置成功后,可以进行git clone,但需要注意,需要对语句进行如下处理

    git clone git@aaa.github.com:User/Repository.git
    

    注意在git@后面要先加上自己在config中配置的用户名,才能正常进行克隆

3 其他小Tips

  1. 如果检测配置不成功,可以运行ssh-add -l命令查看是否所有的私钥都已经添加到本地
  2. 在实际使用过程中还出现了在~/.ssh文件夹下检测配置是成功的,但是在需要git clone的文件夹下检测配置不成功,不能出现相应的账户名称,因此显示如本文一开始所展示图片那样,说没有权限,可以尝试通过重启电脑解决
  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:46:29  更:2022-11-05 00:47:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 20:23:48-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码