vscode连接github

csdn推荐

目录

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:WindowsSystem32driversetc 中。

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

问题一:无法访问github:

首先我们需要知道 GitHub 的IP地址,直接使用 查询到 的当前 ip 地址。

如当前的 ip 地址为:

20.205.243.166 

在电脑的 hosts 文件内添加 :

20.205.243.166 github.com

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

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

一样,先要去 查询到 对应到的 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 为 .在 查询到 对应到的 ip,更改 hosts 文件。

140.82.112.6  api.github.com

hosts 文件修改完成后,刷新本地DNS缓存,这一步必须要有。

打开命令提示符(win+R,输入cmd)——输入 ipconfig/flushdns——查看现在 github 的IP ping ,若能 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"

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

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

提示中显示 SSH 密钥对存放的路径。一般默认位置 C:Userslenovo.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:Userslenovo.ssh 下生成两个文件 id_rsa_personal 和 id_rsa_personal.pub 。

添加公钥到 Git 账户

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

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

配置 ssh 文件夹中的config

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

  #Default GitHub
  Host github.com
  HostName github.com
  User git
  IdentityFile ~/.ssh/id_rsa
  #new github
  Host github-personal  # 修改
  HostName github.com
  User git
  IdentityFile ~/.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)

把 这个默认的 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 的前缀

文章来源:https://blog.csdn.net/weixin_45871977/article/details/139638904



微信扫描下方的二维码阅读本文

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容