VS Code中执行Git: Clone最直接,需确保系统PATH含git;若无反应则配置git.path;支持HTTPS/SSH(SSH需预配密钥);大仓库建议勾选初始化submodule;认证失败时检查ssh-agent和git config;克隆后需手动Open Folder加载工作区。

点击 VS Code 命令面板执行 Git: Clone
这是最直接的方式,不依赖终端、不手动建空文件夹。VS Code 内置 Git 支持,只要系统 PATH 里有 git 可执行文件(不是 Git for Windows 的 GUI 版),就能用。
常见错误现象:Git: Clone 命令点开后没反应,或报错 Command 'Git: Clone' resulted in an error (command 'git.clone' not found) —— 大概率是 VS Code 没检测到 git 命令,去设置里搜 git.path,填上你本地 git 的绝对路径,比如 /usr/bin/git(macOS/Linux)或 C:\Program Files\Git\bin\git.exe(Windows)。
- 操作前不用新建空文件夹,VS Code 会在你选的父目录下自动创建项目同名子目录
- 支持 HTTPS 和 SSH URL,但 SSH 需提前配好
~/.ssh/id_rsa和known_hosts,否则卡在认证环节不报错,只显示“Cloning…”不动 - 如果仓库很大,建议勾选 “Initialize submodules”(如果项目用了 submodule),否则后续
git submodule update --init得手动补
克隆时遇到 Permission denied (publickey)
这是 SSH 认证失败的典型提示,不是 VS Code 的 bug,而是 Git 层面的问题。VS Code 调用的是系统 git,所以和你在终端里跑 git clone git@github.com:user/repo.git 是同一套逻辑。
- 先确认
ssh -T git@github.com(或对应平台如git@gitlab.com)能成功返回欢迎信息 - 检查 VS Code 终端(
Ctrl+`)里运行git config --global core.sshCommand是否为空;若非空,可能指向了错误的 ssh 二进制,删掉这行配置更稳妥:git config --global --unset core.sshCommand - Windows 用户容易忽略 OpenSSH 服务是否启用:Win10/11 默认带 OpenSSH Client,但 Server 不开也无所谓;关键是确保
ssh-agent在运行,并已ssh-add ~/.ssh/id_rsa
用终端在 VS Code 里手动 git clone 更可控
当 UI 方式卡住、要传额外参数、或想复用已有 SSH 配置时,直接进 VS Code 内置终端更省事。它默认继承系统环境变量和 shell 配置,比 GUI 命令更贴近真实开发流程。
- 打开终端后,cd 到你希望存放项目的父目录,比如
cd ~/projects - 执行完整命令:
git clone --recurse-submodules https://github.com/user/repo.git(加--recurse-submodules省得后续初始化) - 如果远程地址是私有 GitLab 实例且启用了自签名证书,需临时允许:
GIT_SSL_NO_VERIFY=1 git clone https://gitlab.example.com/group/project.git,但别设成全局 - 克隆完,用 VS Code 打开该文件夹(File → Open Folder),而不是“Open File”,否则无法识别 Git 仓库上下文
克隆完没看到源码树?检查工作区是否加载了正确文件夹
VS Code 不会自动把刚克隆的目录设为当前工作区。你可能点了 Git: Clone,选了目标路径,结果一回头还是原来那个空窗口或旧项目。
- 克隆完成后,VS Code 通常会弹窗问“Would you like to open the cloned repository?”,点“Yes”即可;如果没弹,就手动
File → Open Folder,选中刚生成的项目文件夹 - 打开后看左下角状态栏:如果有 Git 分支名(如
main)、左侧活动栏出现源代码管理图标(分支图标),说明加载成功 - 如果左侧没有文件资源管理器内容,大概率是打开了父目录而非子目录,比如你克隆到了
~/projects/my-app,却打开了~/projects
git 命令行可用,再决定走 UI 还是终端,比反复重试更省时间。


















