news 2026/3/29 17:24:49

Windows系统永久配置Git使用SSH连接GitHub完整教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows系统永久配置Git使用SSH连接GitHub完整教程

方案一:修改Git全局配置(最简单)

cmd

# 1. 设置Git全局使用SSH代替HTTPS git config --global url."git@github.com:".insteadOf "https://github.com/" # 2. 设置SSH命令使用您的密钥 git config --global core.sshCommand "ssh -i %USERPROFILE%\.ssh\id_ed25519" # 3. 验证配置 git config --global --list | findstr "insteadof\|sshCommand"

优点:配置简单,一键完成
缺点:所有仓库使用同一密钥

方案二:创建SSH配置文件(最推荐)

  1. 创建或编辑SSH配置文件:

    text

    文件位置:C:\Users\你的用户名\.ssh\config
  2. 添加以下内容:

    config

    # GitHub Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519 IdentitiesOnly yes PreferredAuthentications publickey # 可选:为不同GitHub账户配置不同密钥 Host github-work HostName github.com User git IdentityFile ~/.ssh/work_key
  3. 设置文件权限(在Git Bash中):

    bash

    chmod 600 ~/.ssh/config

优点:灵活,支持多账户,符合SSH标准

方案三:Windows OpenSSH服务(最稳定)win+x

powershell

# 以管理员身份运行PowerShell # 1. 启用SSH-Agent服务 Set-Service ssh-agent -StartupType Automatic # 2. 启动服务 Start-Service ssh-agent # 3. 添加密钥到代理 ssh-add $HOME\.ssh\id_ed25519 # 4. 检查已加载的密钥 ssh-add -l

优点:系统级服务,重启后自动加载密钥


🔍 第四部分:验证配置是否成功

4.1 基础测试

cmd

# 测试SSH连接 ssh -T git@github.com

预期输出

text

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

4.2 详细诊断

创建诊断脚本check_ssh.bat

batch

@echo off echo ===== SSH配置诊断工具 ===== echo. echo [1] 检查密钥文件... if exist "%USERPROFILE%\.ssh\id_ed25519" ( echo ✓ 找到私钥文件 ) else ( echo ✗ 未找到私钥文件,请先生成SSH密钥 ) echo. echo [2] 检查SSH配置文件... if exist "%USERPROFILE%\.ssh\config" ( type "%USERPROFILE%\.ssh\config" echo. ) else ( echo ℹ 未找到config文件,将使用默认配置 ) echo [3] 测试GitHub连接... ssh -T git@github.com 2>&1 | findstr "successfully" >nul if %errorlevel%==0 ( echo ✓ SSH连接测试成功 ) else ( echo ✗ SSH连接测试失败 echo 请检查:1.公钥是否添加到GitHub 2.网络连接 ) echo. echo [4] 测试Git操作... echo 正在克隆测试仓库... git clone git@github.com:github/gitignore.git ssh-test-temp --depth=1 2>nul if exist "ssh-test-temp" ( echo ✓ Git克隆测试成功 rmdir /s /q ssh-test-temp 2>nul ) else ( echo ✗ Git克隆测试失败 ) echo. echo ===== 诊断完成 ===== pause

🚀 第五部分:日常使用命令

5.1 基本克隆命令

cmd

# 基本格式 git clone git@github.com:用户名/仓库名.git # 带分支和重命名 git clone -b 分支名 git@github.com:用户名/仓库名.git 自定义目录名 # 示例 git clone git@github.com:microsoft/vscode.git git clone -b main git@github.com:facebook/react.git react-project

5.2 特殊场景操作

cmd

# 1. 克隆包含子模块的仓库 git clone --recursive git@github.com:用户名/仓库名.git # 2. 浅克隆(只获取最新提交,加快速度) git clone --depth=1 git@github.com:用户名/仓库名.git # 3. 克隆特定标签版本 git clone -b v1.0.0 git@github.com:用户名/仓库名.git # 4. 限制克隆深度和过滤文件 git clone --filter=blob:none git@github.com:用户名/大仓库名.git

5.3 切换已有仓库为SSH

cmd

# 进入仓库目录 cd 仓库目录 # 查看当前远程地址 git remote -v # 修改为SSH地址(假设原地址是HTTPS) git remote set-url origin git@github.com:用户名/仓库名.git # 验证修改 git remote -v

📁 第六部分:实用脚本工具

6.1 通用克隆脚本gclone.bat

batch

@echo off echo GitHub SSH克隆工具 echo ==================== if "%1"=="" goto usage set "repo=%1" set "branch=%2" set "target=%3" :: 处理输入格式 echo %repo% | findstr "^git@" >nul if errorlevel 1 ( echo %repo% | findstr "^https://" >nul if errorlevel 1 ( :: 用户输入的是 用户名/仓库名 格式 set "repo=git@github.com:%repo%.git" ) else ( :: 将HTTPS地址转换为SSH地址 set "repo=%repo:https://github.com/=git@github.com:%" set "repo=%repo:/=.git%" ) ) :: 构建命令 set "cmd=git clone %repo%" if not "%branch%"=="" set "cmd=%cmd% -b %branch%" if not "%target%"=="" set "cmd=%cmd% %target%" echo. echo 执行命令:%cmd% echo. %cmd% if %errorlevel%==0 ( echo ✓ 克隆成功! ) else ( echo ✗ 克隆失败,请检查网络或仓库地址 ) goto :eof :usage echo 使用方法: echo gclone 用户名/仓库名 [分支] [目标目录] echo gclone HTTPS地址 [分支] [目标目录] echo gclone SSH地址 [分支] [目标目录] echo. echo 示例: echo gclone microsoft/vscode echo gclone https://github.com/facebook/react.git main react-app echo gclone git@github.com:vuejs/vue.git pause

6.2 批量克隆脚本clone-multi.bat

batch

@echo off echo 批量克隆工具 echo ============= setlocal enabledelayedexpansion :: 定义要克隆的仓库列表 set "repos[0]=microsoft/vscode" set "repos[1]=facebook/react" set "repos[2]=vuejs/vue" set "repos[3]=tensorflow/tensorflow" set "repos[4]=pytorch/pytorch" echo 可用仓库: for /l %%i in (0,1,4) do ( echo [%%i] !repos[%%i]! ) echo. echo 选择模式: echo 1. 克隆单个仓库 echo 2. 克隆所有仓库 echo 3. 自定义仓库列表 set /p mode="请选择(1/2/3): " if "%mode%"=="1" ( set /p index="输入仓库编号(0-4): " for /l %%i in (0,1,4) do ( if "!index!"=="%%i" ( echo 正在克隆: !repos[%%i]! git clone git@github.com:!repos[%%i]!.git ) ) ) else if "%mode%"=="2" ( echo 开始克隆所有仓库... for /l %%i in (0,1,4) do ( echo. echo [!repos[%%i]!] git clone git@github.com:!repos[%%i]!.git ) echo. echo 所有仓库克隆完成! ) else if "%mode%"=="3" ( echo 每行输入一个仓库(格式:用户名/仓库名),空行结束: set i=0 :input_loop set /p repo="> " if not "!repo!"=="" ( set "custom[!i!]=!repo!" set /a i+=1 goto input_loop ) echo. echo 开始克隆自定义仓库... for /l %%j in (0,1,!i!) do ( echo [!custom[%%j]!] git clone git@github.com:!custom[%%j]!.git echo. ) ) pause

🔧 第七部分:进阶配置与优化

7.1 多GitHub账户配置

config

# ~/.ssh/config 文件内容 # 个人账户(默认) Host github.com HostName github.com User git IdentityFile ~/.ssh/id_ed25519_personal IdentitiesOnly yes # 工作账户 Host github-work HostName github.com User git IdentityFile ~/.ssh/id_rsa_work IdentitiesOnly yes # 其他Git托管服务 Host gitlab.com HostName gitlab.com User git IdentityFile ~/.ssh/id_ed25519_gitlab

使用不同账户克隆:

cmd

# 使用个人账户(默认) git clone git@github.com:个人用户名/仓库.git # 使用工作账户 git clone git@github-work:公司用户名/仓库.git

7.2 Git配置优化

cmd

# 提高大文件传输性能 git config --global http.postBuffer 524288000 # 启用文件系统缓存(加速状态检查) git config --global core.fscache true # 设置并发线程数(提高克隆速度) git config --global core.packedGitLimit 512m git config --global core.packedGitWindowSize 512m # 启用压缩(节省带宽) git config --global core.compression 9 # 设置SSH连接超时 git config --global core.sshCommand "ssh -o ConnectTimeout=30 -i %USERPROFILE%\.ssh\id_ed25519"

7.3 Windows Terminal配置文件

在Windows Terminal的settings.json中添加:

json

{ "profiles": { "defaults": { "environment": { "GIT_SSH_COMMAND": "ssh -i %USERPROFILE%\\.ssh\\id_ed25519" } } } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/28 7:58:25

YOLO模型训练太慢?试试高性能GPU镜像加速方案

YOLO模型训练太慢?试试高性能GPU镜像加速方案 在工业质检车间的深夜,工程师还在盯着屏幕等待YOLO模型完成一轮训练——这已经是本周第三次因显存溢出中断后重新开始。类似的场景在AI研发中屡见不鲜:一个目标检测项目,70%的时间竟…

作者头像 李华
网站建设 2026/3/14 13:10:32

MVVM架构终极指南:重构React应用状态管理的快速上手方案

MVVM架构终极指南:重构React应用状态管理的快速上手方案 【免费下载链接】swift-composable-architecture pointfreeco/swift-composable-architecture: Swift Composable Architecture (SCA) 是一个基于Swift编写的函数式编程架构框架,旨在简化iOS、mac…

作者头像 李华
网站建设 2026/3/29 1:08:44

YOLO目标检测模型实战:如何在云端高效购买Token与GPU资源?

YOLO目标检测模型实战:如何在云端高效购买Token与GPU资源?技术演进中的现实挑战 当我们在监控大屏上看到一帧帧画面被实时标注出车辆、行人和交通标志时,背后往往是YOLO这样的目标检测模型在高速运转。但很少有人意识到,真正决定这…

作者头像 李华
网站建设 2026/3/20 12:44:11

5分钟解锁全能播放器:VLC移动端终极指南

5分钟解锁全能播放器:VLC移动端终极指南 【免费下载链接】vlc-ios VLC for iOS/iPadOS and tvOS official mirror 项目地址: https://gitcode.com/gh_mirrors/vl/vlc-ios 你是否曾经遇到过这样的场景:下载了一个精彩的视频,却在手机上…

作者头像 李华
网站建设 2026/3/23 18:25:07

如何在3分钟内完成Hoppscotch Docker部署:完整实战教程

如何在3分钟内完成Hoppscotch Docker部署:完整实战教程 【免费下载链接】hoppscotch 项目地址: https://gitcode.com/gh_mirrors/po/postwoman 还在为复杂的API调试工具部署而烦恼吗?本文将带你通过Docker Compose快速部署Hoppscotch&#xff0c…

作者头像 李华
网站建设 2026/3/24 12:35:45

部署YOLO模型上云?这些GPU配置和Token计费细节必须了解

部署YOLO模型上云?这些GPU配置和Token计费细节必须了解 在智能制造车间的质检线上,一台工业相机每秒捕捉20帧高清图像,后台系统需要在50毫秒内完成缺陷检测并触发分拣机制——这样的场景早已不是未来构想,而是当下AI视觉落地的日常…

作者头像 李华