vscode 连接 GitHub

目录

  • vscode连接github
    • 一、解决 github 登录问题
    • 二、通过 SSH 连接 github
      • 1、只有一个 git 账号
      • 2、切换 git 账号
      • 3、在两个账号之间切换
  • vscode 连接 gitee
    • 一、通过 HTTPS 连接
    • 二、通过 SSH 连接

vscode连接github

在 vscode 中首次使用 git push 命令时会要求输入 github 账户的 username 和 password,这种基本身份验证在 2021.8.13 以前还是可以的,之后的话,就会报如下错误:

在这里插入图片描述

一、解决 github 登录问题

参考内容:
1、github无法访问?vscode 无法使用github登录同步? 改 hosts 吧
2、修改Hosts文件解决网站访问问题
3、vscode github设置同步登录认证network error错误处理
4、vscode 已登录账号情况下切换另一种方式登录(从微软到Github)

在 vscode 连接 github 时要求输入 username 和 password,也 无法使用 github 的帐号登录并同步 vscode,可以通过修改 hosts 文件来解决网站无法访问的问题,使用本地DNS记录直接进行跳转。

  1. 找到 hosts 文件的存在位置:

    一般存在于 C:\Windows\System32\drivers\etc 中。

    把 hosts 文件复制一份到其他文件夹中打开,修改完成后再复制替换原来的 hosts 文件,否则会因为管理员权限问题无法保存。

  2. 问题一:无法访问github:

    首先我们需要知道 GitHub 的IP地址,直接使用 https://tool.lu/ip/ 查询到 github.com 的当前 ip 地址。

    如当前的 ip 地址为:

    20.205.243.166 
    

    在电脑的 hosts 文件内添加 :

    20.205.243.166 github.com
    

    注意:这个 ip 地址有可能发生变化,所以访问不了的时候,再去查一次 ip 重新添加一下。

  3. 问题二:无法使用 github 的帐号登录并同步 vscode :

    一样,先要去 https://www.ipaddress.com/ 查询到 vscode-auth.github.com 对应到的 ip ,我查询到了下面这些:

    同样添加到 hosts 内:

    185.199.108.153  vscode-auth.github.com
    185.199.109.153  vscode-auth.github.com
    185.199.110.153  vscode-auth.github.com
    185.199.111.153  vscode-auth.github.com
    2606:50c0:8000::153  vscode-auth.github.com
    2606:50c0:8001::153  vscode-auth.github.com
    2606:50c0:8002::153  vscode-auth.github.com
    2606:50c0:8003::153  vscode-auth.github.com
    
  4. 问题三:设置同步登录认证出现 network error 错误:

    1. 在 vscode 中,ctrl+shift+P,输入 log ,选择开发人员:打开扩展日志文件夹.
    2. 进入认证文件夹,打开日志文件 vscode.github-authentication,查找连接错误 ip 为 api.github.com.
    3. 在 https://www.ipaddress.com/ 查询到 api.github.com 对应到的 ip,更改 hosts 文件。
      140.82.112.6  api.github.com
      
  5. hosts 文件修改完成后,刷新本地DNS缓存,这一步必须要有

    打开命令提示符(win+R,输入cmd)——输入 ipconfig/flushdns——查看现在 github 的IP ping github.com,若能 ping 通则配置成功,其他 ip 也可以ping一下。

  6. 全部操作完成之后,回到 vscode 使用 github 账号登录去同步配置就可以成功了,使用 HTTPS 连接 github 去 push 也成功了。

vscode已登陆微软账号(或GitHub账号)下需要切换到GitHub账号(或微软账号),注销后再次登录依然是原来的登录方式?

ctrl+shift+p 输入 sync 打开命令面板,选择 Setting:Sync Turn Off 停止同步,弹窗显示确认关闭。点击"用户"图标,重新选择登录账号即可。

二、通过 SSH 连接 github

1、只有一个 git 账号

参考内容:
1、使用 SSH 密钥对 git push 进行身份验证
2、vscode如何连接github/gitee远程仓库详细步骤(ssh+https)最全最详细

  1. 生成 SSH 密钥

    如果您已经有 SSH 密钥对,可以跳过这一步。否则,您可以在终端中输入以下命令来生成新的 SSH 密钥:

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    your_email@example.com 换成 github 绑定的邮箱,在提示符下,按照默认设置一路回车即可。

    这将在 ~/.ssh 目录下生成 id_rsaid_rsa.pub 两个文件,其中 id_rsa 是私钥,id_rsa.pub 是公钥。

    提示中显示 SSH 密钥对存放的路径。一般默认位置 C:\Users\lenovo\.ssh.

  2. 添加公钥到 Git 账户

    id_rsa.pub 的公钥文件的所有内容复制,进入 github 设置里找到配置 ssh 的选项,如下图,其中,title 可以任意写,将复制的公钥文件粘贴进 Key 中,点击 Add SSH Key 就配置成功了。

    在这里插入图片描述
    之后,若用其他多个电脑连接 同一账号的github 提交版本记录,只需要再在新电脑上生成 SSH 密钥添加进该账号的 github 即可。

  3. 在本地 Git 仓库中配置 SSH 协议

    如果之前连接远程仓库时使用的是 HTTPS,需要将 url 更换为 SSH,输入以下命令:

    git remote set-url origin <url>
    

    将 url 替换为 git 仓库的 SSH URL,这将把 git 仓库的 URL 从 HTTPS 协议改为 SSH 协议。

    如果不知道连接的是哪一个 url ,通过命令查看:

    git remote -v
    
  4. 添加私钥到 ssh-agent

    将 SSH 私钥(默认为 ~/.ssh/id_rsa)添加到 ssh-agent 中,以便在进行 SSH 连接时无需每次都输入私钥密码。

    当您尝试连接到需要身份验证的远程服务器时,ssh-agent 会自动使用保存在其中的私钥进行身份验证。如果您没有使用 ssh-add 命令将私钥添加到 ssh-agent 中,则需要在每次尝试连接时手动输入私钥密码。

    执行命令:

    ssh-add ~/.ssh/id_rsa
    

    如果在执行 命令 ssh-add ~/.ssh/id_rsa,shell 报错

    Could not open a connection to your authentication agent.
    

    这个错误提示通常表示 ssh-agent 没有启动或者没有在当前 shell 中正确地配置。需要进行以下操作:

    1. 确保已经安装了 ssh-agent

      可以在终端中输入以下命令检查:

      ssh-agent -h
      

      如果系统已经安装了 ssh-agent,它会输出 ssh-agent 的帮助信息。否则,可以使用系统包管理器来安装它。

    2. ssh-agent已经启动,请使用以下命令检查它的进程 ID:

      echo $SSH_AGENT_PID
      

      如果没有输出任何内容,说明 ssh-agent 没有在当前 shell 中正确地配置。

      可以使用以下命令启动 ssh-agent,并将其添加到当前 shell中:

      eval "$(ssh-agent -s)"
      
    3. 添加私钥:

      一旦 ssh-agent 已经启动并添加到了当前 shell 中,请使用以下命令添加私钥到 ssh-agent 中:

      ssh-add ~/.ssh/id_rsa
      

    如果还是出现 “Could not open a connection to your authentication agent.” 错误,请尝试重启 ssh-agent

    ssh-agent -k  #关闭
    eval "$(ssh-agent -s)"  # 启动
    ssh-add ~/.ssh/id_rsa  # 添加
    

    以上步骤应该能够解决这个问题。

  5. git push

    然后就可以 Git push 了,根据提示仔细应对就行。

2、切换 git 账号

参考内容:
1、解决Permission to xxx denied to xxx问题
2、Git 最著名报错 “ERROR: Permission to XXX.git denied to user”终极解决方案

目前电脑已经有了 ssh 且使用到了一个 github 账号中了,当想要切换 git 账号推送代码时总出现 ERROR: Permission to XXX.git denied to user 的错误,也就是说想要在同一台电脑上使用多个 git 账号进行切换。

  1. 生成一个新的 SSH KEY

    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    

    在生成过程中 id_rsa 这个 ssh 文件的名字已经被我们之前账号所占用了,所以我们随便取一个其他的名字:id_rsa_personal.

    Enter file in which to save the key (/c/Users/lenovo/.ssh/id_rsa): /c/Users/lenovo/.ssh/id_rsa_personal
    

    密码可以不输入直接两次回车,在 C:\Users\lenovo\.ssh 下生成两个文件 id_rsa_personalid_rsa_personal.pub

  2. 添加公钥到 Git 账户

    打开新生成的 C:\Users\lenovo\.ssh\id_rsa_personal.pub 文件,将公钥添加到 GitHub 后台,此时本机上的 ssh key 已经于 github 账户互通。

    但是电脑上有两个 ssh,其中一个才是你自己私用的,那么 github 就蒙了,不知道哪一个才是你新账户的 ssh,这个时候就需要我们手动配置一下。

  3. 配置 ssh 文件夹中的config

    多账号必须要配置config文件,打开 .ssh 文件夹,创建 config 文件,如果有就不用创建了,(注意:config 文件没有后缀名),用记事本打开 config 文件,在其中做如下配置:

      #Default GitHubHost github.comHostName github.comUser gitIdentityFile ~/.ssh/id_rsa#new githubHost github-personal  # 修改HostName github.comUser gitIdentityFile ~/.ssh/id_rsa_personal  # 修改
    

    修改 Host 和 IdentityFile 的内容。

  4. 重新配置远程地址

    先看一下之前的地址是什么:

    git remote -v
    

    返回:

    origin  git@github.com:YJingGao/2.git (fetch)
    origin  git@github.com:YJingGao/2.git (push)
    

    git@github.com 这个默认的 host 名称改成我们之前新设定的 github-personal 就可以了:

    git remote set-url origin github-personal:YJingGao/2.git
    

    验证是否修改成功:

    # 使用修改后的 github-personal SSH连接,连接成功用户是YJingGao,此时公钥是id_rsa_personal
    $ ssh -T github-personal
    Hi YJingGao! You've successfully authenticated, but GitHub does not provide shell access.# 使用默认的git@github.com SSH去连接,连接成功用户是原来的,此时公钥是 id_rsa
    $ ssh -T github.com
    Hi XXX! ............# 修改之后:
    $ git remote -v
    origin  github-personal:YJingGao/2.git (fetch)
    origin  github-personal:YJingGao/2.git (push)
    
  5. github 账户如果还是显示之前 id_rsa 密钥账户的话请把你的私钥加入 sshAgent 代理中

    eval "$(ssh-agent -s)"
    # 添加密钥 id_rsa_personal
    ssh-add ~/.ssh/id_rsa_personal
    # 添加默认密钥 id_rsa
    ssh-add ~/.ssh/id_rsa
    
  6. 正常推送代码 push

这样,一台电脑生成的两个公钥让两个用户成功连接,就可以访问别人的远程仓库,可以进行多人开发了!!

3、在两个账号之间切换

前面的配置好后,如果再次想要在两个账号之间切换,只需要改两个地方即可:

  1. 修改全局配置。

    git config --global user.name "yourname"
    git config --global user.email "email@xxx.com"
    
  2. 如果是切换到不是默认的 github 账户,在建立本地与远程仓库的联系时需要修改 url 的前缀为修改后的 host.

    git remote add origin github-personal:仓库名.git
    

    如果是切换到默认的 github 账户,直接复制地址过来即可。

vscode 连接 gitee

一、通过 HTTPS 连接

直接连接即可,没有什么注意点。

切换账户:

  1. 更改全局配置。
  2. 删除凭据管理器中的相关内容
    “控制面板”-》搜索“凭据管理器”-》找到 Windows 凭据-》普通凭据-》找到 gitee 网站凭据删除。

二、通过 SSH 连接

参考内容:
1、Git使用同一个邮箱生成同一个公钥SSH-Key并配置连接Gitee和GitHub,数次失败并尝试亲测可行!
2、GitHub、Gitee、Gitlab共用一个SSH密钥配置

按照上面的步骤重新生成一个 SSH 密钥,按照上面的步骤再走一次即可。
如果 gitee 的邮箱和 github 的邮箱一致,可以使用相同的 SSH KEY。

切换账户:

  1. 更改全局配置
  2. 修改 url 的前缀

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/352108.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

梳理Y3游戏编辑器入门者需要明白的基础概念

前言 Y3编辑器是网易开发的一款类似于“War3地图编辑器”的产品。 最近KK对战平台上不少热门的RPG地图都出自Y3编辑器&#xff1a; 最近我花了些时间学习了这款编辑器的基础知识。我发现其中很多概念是比较抽象需要理解的&#xff0c;而有些概念比如“物件”、“物体”、“物…

vue2实现一个简易实用的日历(可特殊标记多个日期)

效果如下&#xff1a; <template><div class"calendar"><div class"header"><button click"previousMonth"><</button><h2>{{ currentYear }}-{{ currentMonth }} </h2><button click"nex…

成都爱尔胡建斌院长提醒一张眼底照,眼病早知道

眼底藏在眼睛后方&#xff0c;平时没注意无察觉&#xff0c;其实非常重要。它包含的部位多掌控着视觉问题&#xff0c;稍不注意就是视觉受损&#xff0c;视觉缺失&#xff0c;严重的甚至失明致盲。 眼球前面的角膜、晶体等&#xff0c;被称为眼前段&#xff0c;后面则被称之为…

-------------------------面试散文-----------------------------------

问题1&#xff1a;vue中动态引入图片&#xff0c;为什么使用require&#xff1f; 回答&#xff1a;因为动态添加的src 编译过后的文件地址和被编译过后的资源文件地址不一致&#xff0c;从而导致无法访问题 而使用require 返回的就是资源文件被编译后的文件地址&#xff0c;从…

kafka在windows上的启动

启动zookeeper 解压kafka安装包到对应目录下&#xff0c;找到对应config目录下的zookeeper.properties文件 新建一个data文件夹&#xff0c;随便放哪 打开该文件&#xff0c;找到 dataDir/tmp/zookeeper 属性 将原来的属性值&#xff0c;修改为新建data文件夹地址&#xff0c;…

虚拟声卡实现音频回环

虚拟声卡实现音频回环 一、电脑扬声器播放声音路由到麦克风1. Voicemeeters安装设置2. 音频设备选择 二、回声模拟 一、电脑扬声器播放声音路由到麦克风 1. Voicemeeters安装设置 2. 音频设备选择 以腾讯会议为例 二、回声模拟 选中物理输入设备“Stereo Input 1”和物理输出设…

Excel小技巧| 批量多列多行转为一列

前期刘小生Star分享了Excel批量一列转多列多行&#xff0c;你学会了嘛&#xff01; 前期刘小生遇到需“对多列对行数据合并并找到唯一不重复的信息”&#xff0c;今天举一反三&#xff0c;继续沿用“替换等号”方法&#xff0c;将多列多行转为一列&#xff01; 下面一个模拟案…

东理咨询交流论坛系统

开头语&#xff1a;你好呀&#xff0c;我是计算机学长猫哥&#xff01;如果有相关需求&#xff0c;文末可以找到我的联系方式。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;JSP技术、B/S架构 工具&#xff1a;MyEclipse 系统展示 首页 管理员功能…

fs.1.10 ON rockeylinux8 dockerfile模式

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 rockeylinux8 docker上编译安装fs.1.10的流程记录&#xff0c;本文使用dockerfile模式。 环境 docker engine&#xff1a;Version 24.0.6 rockylinux docker&#xff1a;8 freeswitch&#xff1a;v1.10.7 dockerfi…

linux 安装sftp及使用sftp上传和下载

一、centos7 安装sftp 1.安装 OpenSSH 服务&#xff1a; sudo yum install openssh-server2.启动 SSH 服务&#xff0c;并设置为开机启动&#xff1a; sudo systemctl start sshd sudo systemctl enable sshd3.创建一个新用户&#xff0c;用于SFTP连接&#xff08;替换your_…

文件操作(1)(C语言版)

前言&#xff1a; 为什么要学习文件操作&#xff1a; 1、如果大家写过一些代码&#xff0c;当运行结束的时候&#xff0c;这些运行结果将不复存在&#xff0c;除非&#xff0c;再次运行时这些结果才能展现在屏幕上面&#xff0c;就比如之前写过的通讯录。 现实中的通讯录可以保…

数据结构进阶——AVL树

数据结构进阶——AVL树 0. 前言1. AVL树的概念2. AVL树节点&#xff0c;和树的定义3. AVL树的插入4. AVL树的旋转5. AVL树的验证6. AVL树的删除&#xff08;了解&#xff09;7. AVL树实现完整代码8. AVL树的性能 0. 前言 学习本章&#xff0c;需要大家先掌握搜索二叉树&#xf…

python GUI开发: tkinter事件处理的几种方式详解与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

高考之后,专业与学校如何选择?

随着2024年高考的结束&#xff0c;考生们面临着选择专业或学校的难题。选择专业意味着专注于一个特定领域&#xff0c;直接影响未来的职业发展和兴趣培养&#xff1b;而选择学校则提供了更优越的学术氛围和广泛的社交机会&#xff0c;对个人综合素质提升有重要作用。无论选择哪…

【Linux命令行】从时间管理->文件查找压缩的指令详解

目录 1.date 命令&#xff08;显示时间&#xff09; 1.1 显示方面 1.2 设定时间 1.3 时间戳转换 1.4 cal&#xff08;日历&#xff09; 2. 重定向 2.1 输出重定向&#xff08;echo >&#xff09;cin 2.2 追加重定向 >> 2.3 输入重定向 < cout 3.find 指…

机器学习python实践——关于ward聚类分层算法的一些个人心得

最近在利用python跟着参考书进行机器学习相关实践&#xff0c;相关案例用到了ward算法&#xff0c;但是我理论部分用的是周志华老师的《西瓜书》&#xff0c;书上没有写关于ward的相关介绍&#xff0c;所以自己网上查了一堆资料&#xff0c;都很难说清楚ward算法&#xff0c;幸…

Java小结

# Java的特点 Java是一门面向对象的编程语言。面向对象和面向过程的区别参考下一个问题。 Java具有平台独立性和移植性。 Java有一句口号&#xff1a;Write once, run anywhere&#xff0c;一次编写、到处运行。这也是Java的魅力所在。而实现这种特性的正是Java虚拟机JVM。已…

Dart 弱引用进阶

前言 村里的老人说&#xff1a;“真正的强者&#xff0c;都是扮猪吃老虎。” 日常开发中经常需要用到弱引用&#xff0c;Dart 语言里也有提供弱引用的接口 WeakReference&#xff0c;我们可以基于它开发更强大的复杂结构。 在前面的文章中&#xff0c;我们用到了一个以弱引用…

【笔记】【Git】多个dev分支合并到master分支的文件冲突

问题描述 多个dev分支在同步开发&#xff0c;同时发起代码评审&#xff0c;但合入master的时候存在先后顺序&#xff0c;那么后面同文件的操作则会提示“合并有文件冲突”&#xff0c;导致代码无法入库&#xff0c;只能重新提交。 在个人分支中如何解决与master分支差异&#…

香港优才计划中介避坑,深圳哪家优才中介有实力?

随着香港优才计划取消配额限制以来&#xff0c;优才计划递交申请量骤增&#xff0c;许多DIY的申请人在递交申请后&#xff0c;长时间未能收到审批结果&#xff0c;甚至有人等待了12个月之久仍对审批进展一无所知。 而一些有中介协助的申请人&#xff0c;在等待审批的过程中&am…