Windows 11 上配置VSCode 使用 Git 和 SSH 完整步骤

news2025/1/9 15:27:45

在 Windows 11 上,通过 VSCode 使用 Git 和 SSH 克隆 GitHub 仓库的完整优化步骤如下:


1. 安装必备工具

  1. 下载并安装 Git:

    • 访问 Git 官网 下载最新版本。
    • 安装时,选择以下选项:
      • Default editor for Git: Use Visual Studio Code as Git’s default editor
      • Adjust your PATH environment: Git from the command line and also from 3rd-party software
      • Configuring the line ending conversions: Checkout Windows-style, commit Unix-style line endings
  2. 下载并安装 VSCode:

    • 访问 VSCode 官网 下载并安装。
  3. 检查 OpenSSH 是否启用:

    • 打开 控制面板 > 程序 > 程序和功能 > 启用或关闭 Windows 功能,确保 OpenSSH 客户端 已启用。

2. 配置 Git 和 SSH

  1. 设置 Git 的用户信息:
    打开命令提示符 (CMD) 或 PowerShell,输入以下命令:

    git config --global user.name "Your Name"
    git config --global user.email "your_email@example.com"
    

    检查配置是否成功:

    git config --global -l
    
  2. 生成 SSH 密钥:

    • 打开终端(PowerShell 或 CMD):
      ssh-keygen -t ed25519 -C "your_email@example.com"
      
      如果不支持 ed25519,使用以下命令生成 rsa 密钥:
      ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
      
    • 当提示保存路径时,按回车键保存到默认路径:
      C:\Users\YourUserName\.ssh\id_ed25519
      
    • 设置一个密码(建议安全性更高)。
  3. 启动 SSH 代理并添加密钥:
    打开终端,输入以下命令:

    eval "$(ssh-agent -s)"
    ssh-add C:\Users\YourUserName\.ssh\id_ed25519
    
  4. 将 SSH 公钥添加到 GitHub:

    • 复制公钥:
      type C:\Users\YourUserName\.ssh\id_ed25519.pub
      
    • 登录 GitHub:
      • 点击右上角头像 > Settings > SSH and GPG keys > New SSH key
      • 粘贴公钥内容,点击 Add SSH key
  5. 测试 SSH 连接:
    在终端中输入:

    ssh -T git@github.com
    

    如果成功,返回:

    Hi username! You've successfully authenticated, but GitHub does not provide shell access.
    

3. 在 VSCode 中克隆 GitHub 仓库

  1. 获取 SSH URL:

    • 登录 GitHub,导航到目标仓库。
    • 点击绿色的 Code 按钮,选择 SSH,复制 URL(形如 git@github.com:username/repo.git)。
  2. 在 VSCode 中克隆:

    • 打开 VSCode。
    • 按下 Ctrl+Shift+P(或 Cmd+Shift+P),搜索并选择 Git: Clone
    • 在输入框中粘贴仓库的 SSH URL。
    • 选择存储克隆文件的本地文件夹。
  3. 打开项目:

    • 克隆完成后,VSCode 会提示是否打开该项目。
    • 点击 Open,加载项目。

4. 提交和推送代码到 GitHub

  1. 在 VSCode 中修改代码:
    修改文件后,VSCode 的 Source Control 面板会显示变更。

  2. 提交更改:

    • 在终端中运行以下命令:
      git add .
      git commit -m "Your commit message"
      git push
      
    • 或在 Source Control 面板中点击 + 添加所有更改,填写提交信息后点击 ✔️ Commit
  3. 推送到 GitHub:
    在终端运行:

    git push
    

    或点击 Source Control 面板中的 Push 按钮。


5. 配置多账号或多个 SSH 密钥(可选)

如果需要配置多个 SSH 密钥(如公司和个人 GitHub 账号),需设置 ~/.ssh/config 文件:

  1. 编辑 C:\Users\YourUserName\.ssh\config 文件(如果不存在,创建一个)。
  2. 添加以下内容:
    Host github-personal
        HostName github.com
        User git
        IdentityFile C:\Users\YourUserName\.ssh\id_ed25519_personal
    
    Host github-work
        HostName github.com
        User git
        IdentityFile C:\Users\YourUserName\.ssh\id_ed25519_work
    
  3. 使用指定配置克隆仓库:
    git clone git@github-personal:username/repo.git
    

6. 常见问题及解决方法

  1. SSH 连接失败:

    • 检查 ~/.ssh 文件夹权限,确保仅当前用户有访问权限。
    • 验证 GitHub 公钥是否正确添加。
  2. VSCode 无法识别 Git:

    • 确保 Git 已正确安装。
    • 在 VSCode 中按 Ctrl+Shift+P,搜索并打开 Settings
    • 搜索 Git Path,手动设置为 C:\Program Files\Git\bin\git.exe
  3. 权限问题:

    • 如果出现 Permission denied,尝试重新添加密钥或切换到正确的配置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2273861.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通过可穿戴外骨骼,以更灵活的方式操作你的机器人。

今天,我们将介绍一款专为控制 Mercury X1 和 Mercury B1 机械臂而设计的创新外骨骼。这种外骨骼以人类手臂的结构为蓝本,可实现直观和精确的控制。 开发这种外骨骼的动机源于人们对深度学习和机器学习等领域日益增长的兴趣。这些技术使机器人能够自主学习…

Ubuntu更改内核

需求背景: 由于软件需要在较低版本或者指定版本才可以运行 版本: 配置文件: vi /etc/default/grub 启动界面: 可运行版本: 解决方案: 方案1、更改启动顺序 sudo vi /etc/default/grub 方案2、调整启动顺…

maven之插件调试

当使用maven进行项目管理的时候,可能会碰到一些疑难问题。网上资料很少,可能会想着直接调试定位问题。这里以maven-compiler-plugin为例: (1)准备maven-compiler-plugin源码 进入maven 官网-》Maven Plugins-》找到对…

DevToys 专为 Windows 开发者打造的“瑞士军刀”式离线软件

你是否还在为寻找各种在线开发小工具而疲于奔波?**每次要格式化 JSON、比较文本、或者测试正则表达式,都得打开一堆网站,弹窗广告满天飞,严重影响工作效率。想不想要一个“多合一”的离线工具箱,轻松搞定开发中琐碎的日…

INT301 Bio Computation 题型整理

perceptron 设计和计算 1. XOR: 当两个输入值中只有一个为真时,输出为真 2. 3. 5. 6. 7. 2^3 2^n 9. a) 直接test b) 把v≥2 改成 v≥1 10. no, because it cant be separate through only one decision boundary,its not linearlly separable. Backpropagatio…

009:传统计算机视觉之边缘检测

本文为合集收录,欢迎查看合集/专栏链接进行全部合集的系统学习。 合集完整版请参考这里。 本节来看一个利用传统计算机视觉方法来实现图片边缘检测的方法。 什么是边缘检测? 边缘检测是通过一些算法来识别图像中物体之间或者物体与背景之间的边界&…

ffmpeg-avio实战:打开本地文件或者网络直播流dome

使用ffmpeg打开打开本地文件或者网络直播流的一个小dome。流程产靠ffmpeg4.x系列的解码流程-CSDN博客 #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> #include <libavformat/avio.h> #include <libavutil/file.h> #include &l…

Unity Burst详解

【简介】 Burst是Unity的编译优化技术&#xff0c;优化了从C#代码编译成Native代码的过程&#xff0c;经过编译优化后代码有更高的运行效率。 在Unity中使用Burst很简单&#xff0c;在方法或类前加上[BurstCompile]特性即可。在构建时编译代码的步骤&#xff0c;Burst编译器会…

el-table 合并单元格

参考文章&#xff1a;vue3.0 el-table 动态合并单元格 - flyComeOn - 博客园 <el-table :data"tableData" border empty-text"暂无数据" :header-cell-style"{ background: #f5f7fa }" class"parent-table" :span-method"obj…

WebRTC 在视频联网平台中的应用:开启实时通信新篇章

在当今这个以数字化为显著特征的时代浪潮之下&#xff0c;实时通信已然稳稳扎根于人们生活与工作的方方面面&#xff0c;成为了其中不可或缺的关键一环。回首日常生活&#xff0c;远程办公场景中的视频会议让分散各地的团队成员能够跨越地理距离的鸿沟&#xff0c;齐聚一堂共商…

OpenAI CEO 奥特曼发长文《反思》

OpenAI CEO 奥特曼发长文《反思》 --- 引言&#xff1a;从 ChatGPT 到 AGI 的探索 ChatGPT 诞生仅一个多月&#xff0c;如今我们已经过渡到可以进行复杂推理的下一代模型。新年让人们陷入反思&#xff0c;我想分享一些个人想法&#xff0c;谈谈它迄今为止的发展&#xff0c;…

网络空间安全导论期末考试复习题

题型&#xff1a;10个选择题10个大题 1、选择题 简单&#xff0c;记忆书本里的小标题 2、大题&#xff08;较难&#xff09; 网络安全体系的五个层次的内容画公钥密码结合报文鉴别的示意图解释误用入侵检测并画示意图解释隧道技术并画示意图防火墙的作用&#xff0c;防火墙和…

接口测试-postman(使用postman测试接口笔记)

一、设置全局变量 1. 点击右上角设置按钮-》打开管理环境窗口-》选择”全局“-》设置变量名称&#xff0c;初始值和当前值设置一样的&#xff0c;放host放拼接的url&#xff0c;key放鉴权那一串字符&#xff0c;然后保存-》去使用全局变量&#xff0c;用{{变量名称}}形式 二、…

每日一题-两个链表的第一个公共结点

文章目录 两个链表的第一个公共结点问题描述示例说明示例 1示例 2 方法及实现方法描述代码实现 复杂度分析示例运行过程示例 1示例 2 总结备注 两个链表的第一个公共结点 问题描述 给定两个无环的单向链表&#xff0c;找到它们的第一个公共节点。如果没有公共节点&#xff0c…

API架构风格的深度解析与选择策略:SOAP、REST、GraphQL与RPC

❃博主首页 &#xff1a; 「码到三十五」 &#xff0c;同名公众号 :「码到三十五」&#xff0c;wx号 : 「liwu0213」 ☠博主专栏 &#xff1a; <mysql高手> <elasticsearch高手> <源码解读> <java核心> <面试攻关> ♝博主的话 &#xff1a…

【搜索】【推荐】大 PK

引言 在当今信息爆炸的时代&#xff0c;如何从海量数据中精准地为用户推荐最相关的内容成为了科技领域的关键挑战。搜推技术作为推荐系统的核心组件&#xff0c;扮演着至关重要的角色。本文将深入探讨这两种技术背后的方法论&#xff0c;剖析它们各自面临的难点&#xff0c;并…

[uniapp] 实现扫码功能,含APP、h5、小程序

&#x1f680; 个人简介&#xff1a;某大型国企资深软件开发工程师&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码喽的自我修养&#x1f9…

mysql、postgresql、druid链接池踩坑记录

The last packet successfully received from the server wIs 10,010 milliseconds ago. The last packet sent successfully to the server was 10,010 milliseconds ago.### The error may exist in URL mysql 链接字符串没有 &connectTimeout600000&socketTimeout6…

STM32+WIFI获取网络时间+8位数码管显示+0.96OLED显

资料下载地址&#xff1a;STM32WIFI获取网络时间8位数码管显示0.96OLED 1、项目介绍 主控芯片STM32C8T6 接线&#xff1a;串口1&#xff1a;PA9 PA10 OELD &#xff1a;PB6 PB7 数码管使用&#xff1a;MAX7219 8位数码管 Max7219_pinCLK PAout(5) Max7219_pinC…

FPGA车牌识别

基于FPGA的车牌识别主要包含以下几个步骤&#xff1a;图像采集、颜色空间转换、边缘检测、形态学处理&#xff08;腐蚀和膨胀&#xff09;、特征值提取、模板匹配、结果显示。先用matlab对原理进行仿真&#xff0c;后用vivado和modelsim进行设计和仿真。 一、1.图像采集采用ov…