当前位置: 首页 > news >正文

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 的前缀

相关文章:

vscode 连接 GitHub

目录 vscode连接github一、解决 github 登录问题二、通过 SSH 连接 github1、只有一个 git 账号2、切换 git 账号3、在两个账号之间切换 vscode 连接 gitee一、通过 HTTPS 连接二、通过 SSH 连接 vscode连接github 在 vscode 中首次使用 git push 命令时会要求输入 github 账户…...

集合java

1.集合 ArrayList 集合和数组的优势对比&#xff1a; 长度可变 添加数据的时候不需要考虑索引&#xff0c;默认将数据添加到末尾 package com.itheima;import java.util.ArrayList;/*public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 | | p…...

智能体(Agent)实战——从gpts到auto gen

一.GPTs 智能体以大模型作为大脑&#xff0c;同时配备技能&#xff0c;使其能够完成具体的任务。同时&#xff0c;为了应用于垂直领域&#xff0c;我们需要为大模型定义一个角色&#xff0c;并构建知识库。最后&#xff0c;定义完整的流程&#xff0c;使其完成整个任务。以组会…...

PyTorch 张量数据类型

【数据类型】Python 与 PyTorch 常见数据类型对应&#xff1a; 用 a.type() 获取数据类型&#xff0c;用 isinstance(a, 目标类型) 进行类型合法化检测 >>> import torch >>> a torch.randn(2,3) >>> a tensor([[-1.7818, -0.2472, -2.0684],[ 0.…...

奇思妙想-可以通过图片闻见味道的设计

奇思妙想-可以通过图片闻见味道的设计 偷闲半日享清闲&#xff0c;炭火烧烤乐无边。肉串飘香引客至&#xff0c;笑语欢声绕云间。人生难得几回醉&#xff0c;且把烦恼抛九天。今宵共饮开怀酒&#xff0c;改日再战新篇章。周四的傍晚&#xff0c;难得的闲暇时光让我与几位挚友相…...

装饰者模式(设计模式)

装饰模式就是对一个类进行装饰&#xff0c;增强其方法行为&#xff0c;在装饰模式中&#xff0c;作为原来的这个类使用者还不应该感受到装饰前与装饰后有什么不同&#xff0c;否则就破坏了原有类的结构了&#xff0c;所以装饰器模式要做到对被装饰类的使用者透明&#xff0c;这…...

ADB调试命令大全

目录 前言命令大全1.显示当前运行的全部模拟器&#xff1a;adb devices2.启动ADB: adb start-server3.停止ADB: adb kill-server4.安装应用程序&#xff1a; adb install -r [apk文件]5.卸载应用程序&#xff1a; adb uninstall [packagename]6.将手机设备中的文件copy到本地计…...

查看npm版本异常,更新nvm版本解决问题

首先说说遇见的问题&#xff0c;基本上把nvm&#xff0c;npm的坑都排了一遍 nvm版本导致npm install报错 Unexpected token ‘.‘install和查看node版本都正确&#xff0c;结果查看npm版本时候报错 首先就是降低node版本… 可以说基本没用&#xff0c;如果要降低版本的话&…...

计算机行业

计算机行业环境分析 2022.01.12 计算机行业环境分析 计算机专业就业前景 随着科技的进步和信息事业的发展&#xff0c;尤其是计算机技术的发展与网络应用的逐渐普及。计算机已成为人们工作和生活中不可缺少的东西。IT行业迅猛发展&#xff0c;就业工作岗位也比比皆是。在最近…...

各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?

2023简直被人工智能相关话题席卷的一年。关于机器学习算法的热度&#xff0c;也再次飙升&#xff0c;网络上一些分享已经比较老了。那么今天借着查询和学习的机会&#xff0c;我也来浅浅分享下目前各种机器学习算法及其应用场景。 为了方便非专业的朋友阅读&#xff0c;我会从算…...

SQLite JDBC驱动程序

SQLite JDBC驱动程序下载地址&#xff1a; 下载地址...

Postgre 调优工具pgBadger部署

一&#xff0c;简介&#xff1a; pgBadger&#xff08;日志分析器&#xff09;类似于oracle的AWR报告&#xff08;基于1小时&#xff0c;一天&#xff0c;一周&#xff0c;一月的报告&#xff09;&#xff0c;以图形化的方式帮助DBA更方便的找到隐含问题。 pgbadger是为了提高…...

【云原生】Kubernetes----Helm包管理器

目录 引言 一、Helm概述 1.Helm价值概述 2.Helm的基本概念 3.Helm名词介绍 二、安装Helm 1.下载二进制包 2.部署Helm环境 3.添加补全信息 三、使用Helm部署服务 1.创建chart 2.查看文件信息 3.安装chart 4.卸载chart 5.自定义chart服务部署 6.版本升级 7.版本…...

Bootstrap 5 进度条

Bootstrap 5 进度条 引言 Bootstrap 5 是目前最流行的前端框架之一&#xff0c;它提供了一套丰富的组件和工具&#xff0c;帮助开发者快速构建响应式、移动设备优先的网页。在本文中&#xff0c;我们将重点探讨 Bootstrap 5 中的进度条组件&#xff0c;包括其基本用法、定制选…...

MySQL查询数据库中所有表名表结构及注释以及生成数据库文档

MySQL查询数据库中所有表名表结构及注释 生成数据库文档在后面&#xff01;&#xff01;&#xff01; select t.TABLE_COMMENT -- 数据表注释 , c.TABLE_NAME -- 表名称 , c.COLUMN_COMMENT -- 数据项 , c.COLUMN_NAME -- 英文名称 , -- 字段描述 , upper(c.DATA_TYPE) as …...

Redis缓存穿透、缓存雪崩和缓存击穿的解决方案

Redis缓存穿透、缓存雪崩和缓存击穿的解决方案 引言 Redis作为当前非常流行的内存数据结构存储系统&#xff0c;以其高性能和灵活性被广泛应用于缓存、消息队列、排行榜等多种场景。然而&#xff0c;在实际使用过程中&#xff0c;可能会遇到缓存穿透、缓存雪崩和缓存击穿等问…...

如何解决javadoc一直找不到路径的问题?

目录 一、什么是javadoc二、javadoc为什么会找不到路径三、如何解决javadoc一直找不到路径的问题 一、什么是javadoc Javadoc是一种用于生成Java源代码文档的工具&#xff0c;它可以帮助开发者生成易于阅读和理解的文档。Javadoc通过解析Java源代码中的注释&#xff0c;提取其…...

redis 笔记2之哨兵

文章目录 一、哨兵1.1 简介1.2 实操1.2.1 sentinel.conf1.2.2 问题1.2.3 哨兵执行流程和选举原理1.2.4 使用建议 一、哨兵 1.1 简介 上篇说了复制&#xff0c;有个缺点就是主机宕机之后&#xff0c;从机只会原地待命&#xff0c;并不能升级为主机&#xff0c;这就不能保证对外…...

LVS+Keepalived NGINX+Keepalived 高可用群集实战部署

Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案&#xff0c;可以解决静态路由出现的单点故障问题。 VRRP协议&#xff08;虚拟路由冗余协议&#xff09; 是针对路由器的一种备份解决方案由多台路由器组成一个热备组&#xff0c;通过共用的…...

Mybatis做批量操作

动态标签foreach&#xff0c;做过批量操作&#xff0c;但是foreach只能处理记录数不多的批量操作&#xff0c;数据量大了后&#xff0c;先不说效率&#xff0c;能不能成功操作都是问题&#xff0c;所以这里讲一讲Mybatis正确的批量操作方法&#xff1a; 在获取opensession对象…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

【Redis技术进阶之路】「原理分析系列开篇」分析客户端和服务端网络诵信交互实现(服务端执行命令请求的过程 - 初始化服务器)

服务端执行命令请求的过程 【专栏简介】【技术大纲】【专栏目标】【目标人群】1. Redis爱好者与社区成员2. 后端开发和系统架构师3. 计算机专业的本科生及研究生 初始化服务器1. 初始化服务器状态结构初始化RedisServer变量 2. 加载相关系统配置和用户配置参数定制化配置参数案…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

2025季度云服务器排行榜

在全球云服务器市场&#xff0c;各厂商的排名和地位并非一成不变&#xff0c;而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势&#xff0c;对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析&#xff1a; 一、全球“三巨头”…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...

纯 Java 项目(非 SpringBoot)集成 Mybatis-Plus 和 Mybatis-Plus-Join

纯 Java 项目&#xff08;非 SpringBoot&#xff09;集成 Mybatis-Plus 和 Mybatis-Plus-Join 1、依赖1.1、依赖版本1.2、pom.xml 2、代码2.1、SqlSession 构造器2.2、MybatisPlus代码生成器2.3、获取 config.yml 配置2.3.1、config.yml2.3.2、项目配置类 2.4、ftl 模板2.4.1、…...

Bean 作用域有哪些?如何答出技术深度?

导语&#xff1a; Spring 面试绕不开 Bean 的作用域问题&#xff0c;这是面试官考察候选人对 Spring 框架理解深度的常见方式。本文将围绕“Spring 中的 Bean 作用域”展开&#xff0c;结合典型面试题及实战场景&#xff0c;帮你厘清重点&#xff0c;打破模板式回答&#xff0c…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

2025年低延迟业务DDoS防护全攻略:高可用架构与实战方案

一、延迟敏感行业面临的DDoS攻击新挑战 2025年&#xff0c;金融交易、实时竞技游戏、工业物联网等低延迟业务成为DDoS攻击的首要目标。攻击呈现三大特征&#xff1a; AI驱动的自适应攻击&#xff1a;攻击流量模拟真实用户行为&#xff0c;差异率低至0.5%&#xff0c;传统规则引…...