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记录直接进行跳转。
-
找到 hosts 文件的存在位置:
一般存在于
C:\Windows\System32\drivers\etc
中。把 hosts 文件复制一份到其他文件夹中打开,修改完成后再复制替换原来的 hosts 文件,否则会因为管理员权限问题无法保存。
-
问题一:无法访问github:
首先我们需要知道 GitHub 的IP地址,直接使用 https://tool.lu/ip/ 查询到
github.com
的当前 ip 地址。如当前的 ip 地址为:
20.205.243.166
在电脑的 hosts 文件内添加 :
20.205.243.166 github.com
注意:这个 ip 地址有可能发生变化,所以访问不了的时候,再去查一次 ip 重新添加一下。
-
问题二:无法使用 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
-
问题三:设置同步登录认证出现 network error 错误:
- 在 vscode 中,
ctrl+shift+P
,输入log
,选择开发人员:打开扩展日志文件夹
. - 进入认证文件夹,打开日志文件 vscode.github-authentication,查找连接错误 ip 为
api.github.com
. - 在 https://www.ipaddress.com/ 查询到
api.github.com
对应到的 ip,更改 hosts 文件。140.82.112.6 api.github.com
- 在 vscode 中,
-
hosts 文件修改完成后,刷新本地DNS缓存,这一步必须要有。
打开命令提示符(win+R,输入cmd)——输入
ipconfig/flushdns
——查看现在 github 的IPping github.com
,若能 ping 通则配置成功,其他 ip 也可以ping一下。 -
全部操作完成之后,回到 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)最全最详细
-
生成 SSH 密钥
如果您已经有 SSH 密钥对,可以跳过这一步。否则,您可以在终端中输入以下命令来生成新的 SSH 密钥:
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
把
your_email@example.com
换成 github 绑定的邮箱,在提示符下,按照默认设置一路回车即可。这将在 ~/.ssh 目录下生成
id_rsa
和id_rsa.pub
两个文件,其中id_rsa
是私钥,id_rsa.pub
是公钥。提示中显示 SSH 密钥对存放的路径。一般默认位置
C:\Users\lenovo\.ssh
. -
添加公钥到 Git 账户
将
id_rsa.pub
的公钥文件的所有内容复制,进入 github 设置里找到配置 ssh 的选项,如下图,其中,title 可以任意写,将复制的公钥文件粘贴进Key
中,点击 Add SSH Key 就配置成功了。
之后,若用其他多个电脑连接 同一账号的github 提交版本记录,只需要再在新电脑上生成 SSH 密钥添加进该账号的 github 即可。 -
在本地 Git 仓库中配置 SSH 协议
如果之前连接远程仓库时使用的是 HTTPS,需要将 url 更换为 SSH,输入以下命令:
git remote set-url origin <url>
将 url 替换为 git 仓库的 SSH URL,这将把 git 仓库的 URL 从 HTTPS 协议改为 SSH 协议。
如果不知道连接的是哪一个 url ,通过命令查看:
git remote -v
-
添加私钥到 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 中正确地配置。需要进行以下操作:-
确保已经安装了
ssh-agent
。可以在终端中输入以下命令检查:
ssh-agent -h
如果系统已经安装了
ssh-agent
,它会输出ssh-agent
的帮助信息。否则,可以使用系统包管理器来安装它。 -
ssh-agent
已经启动,请使用以下命令检查它的进程 ID:echo $SSH_AGENT_PID
如果没有输出任何内容,说明
ssh-agent
没有在当前 shell 中正确地配置。可以使用以下命令启动
ssh-agent
,并将其添加到当前 shell中:eval "$(ssh-agent -s)"
-
添加私钥:
一旦
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 # 添加
以上步骤应该能够解决这个问题。
-
-
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 账号进行切换。
-
生成一个新的 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_personal
和id_rsa_personal.pub
。 -
添加公钥到 Git 账户
打开新生成的
C:\Users\lenovo\.ssh\id_rsa_personal.pub
文件,将公钥添加到 GitHub 后台,此时本机上的 ssh key 已经于 github 账户互通。但是电脑上有两个 ssh,其中一个才是你自己私用的,那么 github 就蒙了,不知道哪一个才是你新账户的 ssh,这个时候就需要我们手动配置一下。
-
配置 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 的内容。
-
重新配置远程地址
先看一下之前的地址是什么:
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)
-
github 账户如果还是显示之前 id_rsa 密钥账户的话请把你的私钥加入 sshAgent 代理中
eval "$(ssh-agent -s)" # 添加密钥 id_rsa_personal ssh-add ~/.ssh/id_rsa_personal # 添加默认密钥 id_rsa ssh-add ~/.ssh/id_rsa
-
正常推送代码 push 。
这样,一台电脑生成的两个公钥让两个用户成功连接,就可以访问别人的远程仓库,可以进行多人开发了!!
3、在两个账号之间切换
前面的配置好后,如果再次想要在两个账号之间切换,只需要改两个地方即可:
-
修改全局配置。
git config --global user.name "yourname" git config --global user.email "email@xxx.com"
-
如果是切换到不是默认的 github 账户,在建立本地与远程仓库的联系时需要修改 url 的前缀为修改后的 host.
git remote add origin github-personal:仓库名.git
如果是切换到默认的 github 账户,直接复制地址过来即可。
vscode 连接 gitee
一、通过 HTTPS 连接
直接连接即可,没有什么注意点。
切换账户:
- 更改全局配置。
- 删除凭据管理器中的相关内容
“控制面板”-》搜索“凭据管理器”-》找到 Windows 凭据-》普通凭据-》找到 gitee 网站凭据删除。
二、通过 SSH 连接
参考内容:
1、Git使用同一个邮箱生成同一个公钥SSH-Key并配置连接Gitee和GitHub,数次失败并尝试亲测可行!
2、GitHub、Gitee、Gitlab共用一个SSH密钥配置
按照上面的步骤重新生成一个 SSH 密钥,按照上面的步骤再走一次即可。
如果 gitee 的邮箱和 github 的邮箱一致,可以使用相同的 SSH KEY。
切换账户:
- 更改全局配置
- 修改 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 集合和数组的优势对比: 长度可变 添加数据的时候不需要考虑索引,默认将数据添加到末尾 package com.itheima;import java.util.ArrayList;/*public boolean add(要添加的元素) | 将指定的元素追加到此集合的末尾 | | p…...
智能体(Agent)实战——从gpts到auto gen
一.GPTs 智能体以大模型作为大脑,同时配备技能,使其能够完成具体的任务。同时,为了应用于垂直领域,我们需要为大模型定义一个角色,并构建知识库。最后,定义完整的流程,使其完成整个任务。以组会…...
PyTorch 张量数据类型
【数据类型】Python 与 PyTorch 常见数据类型对应: 用 a.type() 获取数据类型,用 isinstance(a, 目标类型) 进行类型合法化检测 >>> import torch >>> a torch.randn(2,3) >>> a tensor([[-1.7818, -0.2472, -2.0684],[ 0.…...
奇思妙想-可以通过图片闻见味道的设计
奇思妙想-可以通过图片闻见味道的设计 偷闲半日享清闲,炭火烧烤乐无边。肉串飘香引客至,笑语欢声绕云间。人生难得几回醉,且把烦恼抛九天。今宵共饮开怀酒,改日再战新篇章。周四的傍晚,难得的闲暇时光让我与几位挚友相…...
装饰者模式(设计模式)
装饰模式就是对一个类进行装饰,增强其方法行为,在装饰模式中,作为原来的这个类使用者还不应该感受到装饰前与装饰后有什么不同,否则就破坏了原有类的结构了,所以装饰器模式要做到对被装饰类的使用者透明,这…...
ADB调试命令大全
目录 前言命令大全1.显示当前运行的全部模拟器:adb devices2.启动ADB: adb start-server3.停止ADB: adb kill-server4.安装应用程序: adb install -r [apk文件]5.卸载应用程序: adb uninstall [packagename]6.将手机设备中的文件copy到本地计…...
查看npm版本异常,更新nvm版本解决问题
首先说说遇见的问题,基本上把nvm,npm的坑都排了一遍 nvm版本导致npm install报错 Unexpected token ‘.‘install和查看node版本都正确,结果查看npm版本时候报错 首先就是降低node版本… 可以说基本没用,如果要降低版本的话&…...
计算机行业
计算机行业环境分析 2022.01.12 计算机行业环境分析 计算机专业就业前景 随着科技的进步和信息事业的发展,尤其是计算机技术的发展与网络应用的逐渐普及。计算机已成为人们工作和生活中不可缺少的东西。IT行业迅猛发展,就业工作岗位也比比皆是。在最近…...
各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?
2023简直被人工智能相关话题席卷的一年。关于机器学习算法的热度,也再次飙升,网络上一些分享已经比较老了。那么今天借着查询和学习的机会,我也来浅浅分享下目前各种机器学习算法及其应用场景。 为了方便非专业的朋友阅读,我会从算…...
SQLite JDBC驱动程序
SQLite JDBC驱动程序下载地址: 下载地址...
Postgre 调优工具pgBadger部署
一,简介: pgBadger(日志分析器)类似于oracle的AWR报告(基于1小时,一天,一周,一月的报告),以图形化的方式帮助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 是目前最流行的前端框架之一,它提供了一套丰富的组件和工具,帮助开发者快速构建响应式、移动设备优先的网页。在本文中,我们将重点探讨 Bootstrap 5 中的进度条组件,包括其基本用法、定制选…...
MySQL查询数据库中所有表名表结构及注释以及生成数据库文档
MySQL查询数据库中所有表名表结构及注释 生成数据库文档在后面!!! select t.TABLE_COMMENT -- 数据表注释 , c.TABLE_NAME -- 表名称 , c.COLUMN_COMMENT -- 数据项 , c.COLUMN_NAME -- 英文名称 , -- 字段描述 , upper(c.DATA_TYPE) as …...
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案
Redis缓存穿透、缓存雪崩和缓存击穿的解决方案 引言 Redis作为当前非常流行的内存数据结构存储系统,以其高性能和灵活性被广泛应用于缓存、消息队列、排行榜等多种场景。然而,在实际使用过程中,可能会遇到缓存穿透、缓存雪崩和缓存击穿等问…...
如何解决javadoc一直找不到路径的问题?
目录 一、什么是javadoc二、javadoc为什么会找不到路径三、如何解决javadoc一直找不到路径的问题 一、什么是javadoc Javadoc是一种用于生成Java源代码文档的工具,它可以帮助开发者生成易于阅读和理解的文档。Javadoc通过解析Java源代码中的注释,提取其…...
redis 笔记2之哨兵
文章目录 一、哨兵1.1 简介1.2 实操1.2.1 sentinel.conf1.2.2 问题1.2.3 哨兵执行流程和选举原理1.2.4 使用建议 一、哨兵 1.1 简介 上篇说了复制,有个缺点就是主机宕机之后,从机只会原地待命,并不能升级为主机,这就不能保证对外…...
LVS+Keepalived NGINX+Keepalived 高可用群集实战部署
Keepalived及其工作原理 Keepalived 是一个基于VRRP协议来实现的LVS服务高可用方案,可以解决静态路由出现的单点故障问题。 VRRP协议(虚拟路由冗余协议) 是针对路由器的一种备份解决方案由多台路由器组成一个热备组,通过共用的…...
Mybatis做批量操作
动态标签foreach,做过批量操作,但是foreach只能处理记录数不多的批量操作,数据量大了后,先不说效率,能不能成功操作都是问题,所以这里讲一讲Mybatis正确的批量操作方法: 在获取opensession对象…...
Python | 中心极限定理介绍及实现
统计学是数据科学项目的重要组成部分。每当我们想从数据集的样本中对数据集的总体进行任何推断,从数据集中收集信息,或者对数据集的参数进行任何假设时,我们都会使用统计工具。 中心极限定理 定义:中心极限定理,通俗…...
探索Napier:Kotlin Multiplatform的日志记录库
探索Napier:Kotlin Multiplatform的日志记录库 在现代软件开发中,日志记录是不可或缺的部分,它帮助开发者追踪应用的行为和调试问题。对于Kotlin Multiplatform项目而言,能够在多个平台上统一日志记录的方法显得尤为重要。Napier…...
MySQL基础——SQL语句
目录 1.SQL通用语法 2.SQL分类 3 DDL 3.1数据库操作 3.1.1查询 3.1.2创建 3.1.3删除 3.1.4使用 3.2表操作 3.2.1查询 3.2.2创建 3.2.3数据类型 3.2.4表修改(alter打头) 3.2.5表删除(drop/truncate打头) 3.3 DDL总结…...
比特币通用API服务
Bitcoin 通用API服务 exlectrs: API后台服务(Rust语言编写) https://github.com/Blockstream/electrs.git 使用electr作为后台的区块链浏览器:https://github.com/Blockstream/esplora.git https://github.com/Blockstream/electrs https://github.com/romanz/electrs/blo…...
Spock mock私有方法
mock私有方法 被测试的方法是MiddleGroundAppListBO类下的getPromptIdKeyAppPromptInfoMap方法 private Map<Long, AppPromptInfoModel> getPromptIdKeyAppPromptInfoMap(String cubeAppIdentity) {List<AppPromptInfoDO> promptByApp knowledgeCubeQueryR…...
网络协议四
一、云中网络 物理机的劣势: 1)一旦需要扩容 CPU、内存、硬盘,都需要去机房手动弄,非常麻烦 2)采购的机器往往动不动几百 G 的内存,而每个应用往往可能只需要 4 核 8G 3)一台机器,…...
大数据入门实践一:mac安装Hadoop,Hbase,FLume
一、安装Hadoop 安装hadoop参考此文,关键点是安装JDK和Hadoop的配置,为避免引用文章变收费,我把关键信息摘录如下: jdk安装和配置就不说了(我本机安装了1.8/15/17/21,以17为主),hadoop安装过程…...
openGauss 6.0.0 一主二备集群安装及使用zcbus实现Oracle到openGauss的数据同步
一、前言 openGauss 6.0.0-RC1是openGauss 2024年3月发布的创新版本,该版本生命周期为0.5年。根据openGauss官网介绍,6.0.0-RC1与之前的版本特性功能保持兼容,另外,在和之前版本兼容的基础上增加了很多新功能,比如分区表性能优化…...
0118__C语言——float.h文件
C语言——float.h文件_c float.h-CSDN博客...
settings和toolchains.xml 区别用法配置
在 IntelliJ IDEA 中配置 Maven 项目时,settings.xml 和 toolchains.xml 的使用场景有所不同。以下是具体的使用情景和配置方法: 1. 使用 settings.xml 使用场景 全局或用户级别的配置:包括设置本地仓库位置、远程仓库、代理服务器、认证信…...
网站建设首页草图/网址如何被快速收录
本文实例讲述了python单例模式。分享给大家供大家参考。具体分析如下:__new__()在__init__()之前被调用,用于生成实例对象。利用这个方法和类的属性的特点可以实现设计模式的单例模式。单例模式是指创建唯一对象,单例模式设计的类只能实例化1…...
wordpress程序代码/关键词优化策略有哪些
完整的Java学习的路线图可以参考:我的编程之路--知识管理与知识体系 Lambda&Closures Java8 Lambda表达式10个示例闭包一般指存在自由变量的代码块,它与对象类似,都是用来描述一段代码与其环境的关系。在Java中,Lambda表达式就是闭包。事…...
包头网站建设熊掌号/网站设计公司苏州
🐱作者:一只大喵咪1201 🐱专栏:《C学习》 🔥格言:你只管努力,剩下的交给时间! C是面向对象的编程语言,它有很多的特性,但是最重要的就是封装,继承…...
网站 微信小程序怎么做/太原seo管理
若在git中出现这个http://eslint.org/docs/rules/eol-last 他是提醒你:在文件末尾要求或禁止换行 比如代码如下: 若在git中出现这个https://eslint.org/docs/rules/semi 他是提醒你:需要或不允许使用分号代替 点进去翻译文字。 若在git中出现…...
做类似淘宝的网站设计需要什么/网络整合营销推广
本文主要通过实现Thread 类来展现两种编程风格的不同点。 很多人没有区分“面向对象”和“基于对象”两个不同的概念。面向对象的三大特点(封装,继承,多态)缺一不可。通常“基于对象”是使用对象,但是无法利用现有的对…...
wordpress用markdown/深圳网站建设
很早之前就遇到过这个问题,相信很多同学也曾为这个问题苦恼过N久。问题是这样的:DateTime.Today.ToString("yyyy-MM-dd") --> "2011-06-14"DateTime.Today.ToString("yyyy/MM/dd") --> "2011-06-14"神奇…...