vscode 毗连 GitHub

李优秀  金牌会员 | 2024-11-3 14:46:15 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 344|帖子 344|积分 1032

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 地址为:
    1. 20.205.243.166
    复制代码
    在电脑的 hosts 文件内添加 :
    1. 20.205.243.166
    2. github.com
    复制代码
    注意:这个 ip 地址有大概发生变革,所以访问不了的时间,再去查一次 ip 重新添加一下。
  • 问题二:无法使用 github 的帐号登录并同步 vscode :
    一样,先要去 https://www.ipaddress.com/  查询到 vscode-auth.github.com 对应到的 ip ,我查询到了下面这些:
    同样添加到 hosts 内:
    1. 185.199.108.153  vscode-auth.github.com
    2. 185.199.109.153  vscode-auth.github.com
    3. 185.199.110.153  vscode-auth.github.com
    4. 185.199.111.153  vscode-auth.github.com
    5. 2606:50c0:8000::153  vscode-auth.github.com
    6. 2606:50c0:8001::153  vscode-auth.github.com
    7. 2606:50c0:8002::153  vscode-auth.github.com
    8. 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 文件。
      1. 140.82.112.6  api.github.com
      复制代码

  • hosts 文件修改完成后,刷新当地DNS缓存,这一步必须要有
    打开下令提示符(win+R,输入cmd)——输入 ipconfig/flushdns——检察现在 github 的IP ping 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 密钥:
    1. 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,输入以下下令:
    1. git remote set-url origin <url>
    复制代码
    将 url 替换为 git 堆栈的 SSH URL,这将把 git 堆栈的 URL 从 HTTPS 协议改为 SSH 协议。
    假如不知道毗连的是哪一个 url ,通过下令检察:
    1. git remote -v
    复制代码
  • 添加私钥到 ssh-agent
    将 SSH 私钥(默认为 ~/.ssh/id_rsa)添加到 ssh-agent 中,以便在举行 SSH 毗连时无需每次都输入私钥密码。
    当您实行毗连到必要身份验证的长途服务器时,ssh-agent 会自动使用生存在其中的私钥举行身份验证。假如您没有使用 ssh-add 下令将私钥添加到 ssh-agent 中,则必要在每次实行毗连时手动输入私钥密码。
    执行下令:
    1. ssh-add ~/.ssh/id_rsa
    复制代码
    假如在执行 下令 ssh-add ~/.ssh/id_rsa

    ,shell 报错

    1. Could not open a connection to your authentication agent.
    复制代码
    这个错误提示通常表现 ssh-agent 没有启动大概没有在当前 shell 中精确地设置。必要举行以下操纵:

    • 确保已经安装了 ssh-agent。
      可以在终端中输入以下下令检查:
      1. ssh-agent -h
      复制代码
      假如体系已经安装了 ssh-agent,它会输出 ssh-agent 的资助信息。否则,可以使用体系包管理器来安装它。
    • ssh-agent已经启动,请使用以下下令检查它的进程 ID:
      1. echo $SSH_AGENT_PID
      复制代码
      假如没有输出任何内容,说明 ssh-agent 没有在当前 shell 中精确地设置。
      可以使用以下下令启动 ssh-agent,并将其添加到当前 shell中:
      1. eval "$(ssh-agent -s)"
      复制代码
    • 添加私钥:
      一旦 ssh-agent 已经启动并添加到了当前 shell 中,请使用以下下令添加私钥到 ssh-agent 中:
      1. ssh-add ~/.ssh/id_rsa
      复制代码
    假如还是出现 “Could not open a connection to your authentication agent.
    ” 错误,请实行重启 ssh-agent:
    1. ssh-agent -k  #关闭eval "$(ssh-agent -s)"
    2.   # 启动ssh-add ~/.ssh/id_rsa
    3.   # 添加
    复制代码
    以上步骤应该能够办理这个问题。

  • 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
    1. ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
    复制代码
    在生成过程中 id_rsa 这个 ssh 文件的名字已经被我们之前账号所占用了,所以我们随便取一个其他的名字:id_rsa_personal.
    1. 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 文件,在其中做如下设置:
    1.   #Default GitHub
    2.   Host github.com
    3.   HostName github.com
    4.   User git
    5.   IdentityFile ~/.ssh/id_rsa
    6.   #new github
    7.   Host github-personal  # 修改
    8.   HostName github.com
    9.   User git
    10.   IdentityFile ~/.ssh/id_rsa_personal  # 修改
    复制代码
    修改 Host 和 IdentityFile 的内容。
  • 重新设置长途地址
    先看一下之前的地址是什么:
    1. git remote -v
    复制代码
    返回:
    1. origin  git@github.com:YJingGao/2.git (fetch)
    2. origin  git@github.com:YJingGao/2.git (push)
    复制代码
    把 git@github.com 这个默认的 host 名称改成我们之前新设定的 github-personal 就可以了:
    1. git remote set-url origin github-personal:YJingGao/2.git
    复制代码
    验证是否修改成功:
    1. # 使用修改后的 github-personal SSH毗连,毗连成功用户是YJingGao,此时公钥是id_rsa_personal$ ssh -T github-personalHi YJingGao! You've successfully authenticated, but GitHub does not provide shell access.# 使用默认的git@github.com SSH去毗连,毗连成功用户是原来的,此时公钥是 id_rsa$ ssh -T github.comHi XXX! ............# 修改之后:$ git remote -v
    2. origin  github-personal:YJingGao/2.git (fetch)origin  github-personal:YJingGao/2.git (push)
    复制代码
  • github 账户假如还是显示之前 id_rsa 密钥账户的话请把你的私钥加入 sshAgent 代理中
    1. eval "$(ssh-agent -s)"
    2. # 添加密钥 id_rsa_personalssh-add ~/.ssh/id_rsa
    3. _personal# 添加默认密钥 id_rsassh-add ~/.ssh/id_rsa
    复制代码
  • 正常推送代码 push
这样,一台电脑生成的两个公钥让两个用户成功毗连,就可以访问别人的长途堆栈,可以举行多人开发了!!
3、在两个账号之间切换

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

  • 修改全局设置。
    1. git config --global user.name "yourname"
    2. git config --global user.email "email@xxx.com"
    复制代码
  • 假如是切换到不是默认的 github 账户,在创建当地与长途堆栈的接洽时必要修改 url 的前缀为修改后的 host.
    1. 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 的前缀

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

李优秀

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表