当前位置: 首页 > 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对象…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Java多线程实现之Callable接口深度解析

Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个生活电费的缴纳和查询小程序

一、项目初始化与配置 1. 创建项目 ohpm init harmony/utility-payment-app 2. 配置权限 // module.json5 {"requestPermissions": [{"name": "ohos.permission.INTERNET"},{"name": "ohos.permission.GET_NETWORK_INFO"…...

零基础在实践中学习网络安全-皮卡丘靶场(第九期-Unsafe Fileupload模块)(yakit方式)

本期内容并不是很难&#xff0c;相信大家会学的很愉快&#xff0c;当然对于有后端基础的朋友来说&#xff0c;本期内容更加容易了解&#xff0c;当然没有基础的也别担心&#xff0c;本期内容会详细解释有关内容 本期用到的软件&#xff1a;yakit&#xff08;因为经过之前好多期…...

管理学院权限管理系统开发总结

文章目录 &#x1f393; 管理学院权限管理系统开发总结 - 现代化Web应用实践之路&#x1f4dd; 项目概述&#x1f3d7;️ 技术架构设计后端技术栈前端技术栈 &#x1f4a1; 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 &#x1f5c4;️ 数据库设…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

C++:多态机制详解

目录 一. 多态的概念 1.静态多态&#xff08;编译时多态&#xff09; 二.动态多态的定义及实现 1.多态的构成条件 2.虚函数 3.虚函数的重写/覆盖 4.虚函数重写的一些其他问题 1&#xff09;.协变 2&#xff09;.析构函数的重写 5.override 和 final关键字 1&#…...

【电力电子】基于STM32F103C8T6单片机双极性SPWM逆变(硬件篇)

本项目是基于 STM32F103C8T6 微控制器的 SPWM(正弦脉宽调制)电源模块,能够生成可调频率和幅值的正弦波交流电源输出。该项目适用于逆变器、UPS电源、变频器等应用场景。 供电电源 输入电压采集 上图为本设计的电源电路,图中 D1 为二极管, 其目的是防止正负极电源反接, …...

基于Springboot+Vue的办公管理系统

角色&#xff1a; 管理员、员工 技术&#xff1a; 后端: SpringBoot, Vue2, MySQL, Mybatis-Plus 前端: Vue2, Element-UI, Axios, Echarts, Vue-Router 核心功能&#xff1a; 该办公管理系统是一个综合性的企业内部管理平台&#xff0c;旨在提升企业运营效率和员工管理水…...