使用 SourceTree 通过 SSH 克隆 GitLab 仓库,核心是先配置好 SSH 密钥(让 GitLab 信任你的本地电脑),再用 SSH 地址在 SourceTree 中完成克隆。

目录

一、生成并配置 SSH 密钥(关键前提)

1、生成 SSH 密钥

        1)打开终端

        2)执行以下命令(替换为你的 GitLab 注册邮箱)

        3)按回车确认密钥保存路径(默认路径:Windows 是 C:\Users\你的用户名\.ssh\)

        4)按回车跳过 “输入密码”(也可以设置密码,每次拉取 / 推送时需要验证,更安全)

        5)执行完成后,会生成两个文件:id_ed25519(私钥,不要泄露)和 id_ed25519.pub(公钥,需要上传到 GitLab)

        6)查找密钥文件

2、将公钥添加到 GitLab

        1)打开 GitLab 官网,登录你的账号

        2)点击右上角头像 → 编辑个人资料→ 左侧菜单 SSH密钥

        3)查找.ssh文件夹,打开id_ed25519.pub文件并复制公钥内容

        4)把复制的公钥内容粘贴到 GitLab 的【密钥】输入框中,标题可以自定义(比如 “我的电脑”),点击【添加密钥】保存

3、验证 SSH 连接(确保配置成功)

问题一:

解决办法:

1、直接输入 yes(注意是全小写,不能输 y 或 Yes),然后按回车

2、警告:已将“gitlab.com”(ED25519)永久添加至已知主机列表中

二、在 SourceTree 中克隆 GitLab 仓库

1、获取 GitLab 仓库的 SSH 地址

        1)打开 GitLab 目标仓库页面

        2)点击右上角的 克隆 → 复制完整的 SSH 地址(格式:ssh://git@gitlab.com:用户名/仓库名.git)

2、SourceTree 克隆操作

        1)打开 SourceTree,点击左上角 文件 → 克隆/新建(或直接点击首页的 克隆)

        2)在弹出的窗口中填写信息

提示一:“接受服务器密钥” 

解决办法:

        1、如下图所示,点击是

        2、如下图所示,点击确定

提示二:“启动SSH代理?”      

解决办法:

        场景 1:如下图所示,点击 “是”,让 SourceTree 自动启动 Pageant 并重试

        场景 2:手动配置 SourceTree,避免后续重复弹窗(推荐)

        3)点击 克隆,等待完成即可

三、常见问题解决

1、SourceTree 提示 “SSH 认证失败”

2、Windows 找不到 SSH 密钥

四、总结

1、核心前提

2、克隆步骤

3、排错关键

欢迎关注VX公众号:前端小知识营地


一、生成并配置 SSH 密钥(关键前提)

如果你的电脑还没有 SSH 密钥,或者密钥未添加到 GitLab,需要先完成这一步:

1、生成 SSH 密钥

        1)打开终端

        2)执行以下命令(替换为你的 GitLab 注册邮箱)
ssh-keygen -t ed25519 -C "你的邮箱@example.com"

        3)按回车确认密钥保存路径(默认路径:Windows 是 C:\Users\你的用户名\.ssh\

        4)按回车跳过 “输入密码”(也可以设置密码,每次拉取 / 推送时需要验证,更安全)

        5)执行完成后,会生成两个文件:id_ed25519(私钥,不要泄露)和 id_ed25519.pub(公钥,需要上传到 GitLab)

        6)查找密钥文件

注:如果文件夹目录没有.ssh,可参照下方图片进行操作

2、将公钥添加到 GitLab

        1)打开 GitLab 官网,登录你的账号

        2)点击右上角头像 → 编辑个人资料→ 左侧菜单 SSH密钥

        3)查找.ssh文件夹,打开id_ed25519.pub文件并复制公钥内容

type C:\Users\你的用户名\.ssh\id_ed25519.pub(全选复制)

        4)把复制的公钥内容粘贴到 GitLab 的【密钥】输入框中,标题可以自定义(比如 “我的电脑”),点击【添加密钥】保存

3、验证 SSH 连接(确保配置成功)

ssh -T git@gitlab.com

如果出现 Welcome to GitLab, @你的用户名!,说明 SSH 配置成功。

注:SSH 首次连接 GitLab 服务器时,本地没有信任该服务器的 SSH 主机密钥,可能会出现的问题

问题一:

The authenticity of host 'gitlab.com (xxx.xxx.xxx.xxx)' can't be established. ED25519 key fingerprint is XXXXXX:XXXXXXXXXXXXXXXXXXXXXXXXX.                                                    This key is not known by any other names.                                                                                  Are you sure you want to continue connecting (yes/no/[fingerprint])?

解决办法:

1、直接输入 yes(注意是全小写,不能输 yYes),然后按回车

2、警告:已将“gitlab.com”(ED25519)永久添加至已知主机列表中

二、在 SourceTree 中克隆 GitLab 仓库

1、获取 GitLab 仓库的 SSH 地址

        1)打开 GitLab 目标仓库页面

        2)点击右上角的 克隆 → 复制完整的 SSH 地址(格式:ssh://git@gitlab.com:用户名/仓库名.git

2、SourceTree 克隆操作

        1)打开 SourceTree,点击左上角 文件克隆/新建(或直接点击首页的 克隆

        2)在弹出的窗口中填写信息

源路径 / URL:粘贴刚才复制的 GitLab SSH 地址

注:可能会出现一些弹框提示

提示一:“接受服务器密钥” 

  • SourceTree 本质是 Git 图形界面工具,克隆时会调用本地 SSH 客户端连接 GitLab 服务器;
  • 首次连接时,SSH 客户端会验证 GitLab 服务器的 “主机密钥”(相当于服务器的身份证),为了防止你连接到伪造的 GitLab 服务器,必须由你手动确认信任。

解决办法:

        1、如下图所示,点击是

        2、如下图所示,点击确定

提示二:“启动SSH代理?”      

  • SSH 密钥代理(Pageant):Windows 下用来管理 SSH 私钥的工具,SourceTree 依赖它加载私钥完成认证;
  • 认证失败原因:要么是私钥没被 Pageant 加载,要么是 SourceTree 的 SSH 配置没指向系统密钥(用了内置的 PuTTY 密钥格式)。

解决办法:

        场景 1:如下图所示,点击 “是”,让 SourceTree 自动启动 Pageant 并重试

这是最简便的方式,适合新手:

  1. 弹出 “启动 SSH 代理?” 弹窗后,点击 “是”
  2. 此时会弹出 Pageant 的密钥添加窗口(标题是 “Select Private Key File”);
  3. 找到你生成的 SSH 私钥文件(路径:C:\Users\你的用户名\.ssh\id_ed25519),选中后点击 “打开”;
  4. 如果私钥设置了密码(生成时你输入了密码),会提示输入密码,输入后确认;
  5. 完成后 SourceTree 会自动重试克隆,此时就能正常认证了。

        场景 2:手动配置 SourceTree,避免后续重复弹窗(推荐)

如果点击 “是” 后仍失败,或想彻底解决(后续不弹),需调整 SourceTree 的 SSH 配置:

  1. 关闭克隆弹窗,打开 SourceTree → 点击顶部「工具」→「选项」;
  2. 切换到「SSH 客户端」选项卡:
    • 把 “SSH 客户端” 从「PuTTY/Plink」改成「OpenSSH」;
    • 确认 “OpenSSH 路径” 指向系统的 ssh.exe(通常是 C:\Windows\System32\OpenSSH\ssh.exe,SourceTree 会自动识别)点击「确定」;
  3. 重启 SourceTree;
  4. 重新走克隆流程:粘贴 SSH 地址 → 克隆,此时不会再弹 Pageant 提示(因为用了系统 OpenSSH,直接读取 .ssh 目录下的私钥)。

复制SSH 地址:复制 GitLab SSH 地址

克隆:SourceTree的首页点击克隆

源路径 / URL:粘贴刚才复制的 GitLab SSH 地址(比如 git@gitlab.com:test/project.git

目标路径:选择本地要保存仓库的文件夹(比如 D:\project)。

名称:自定义仓库在 SourceTree 中的显示名称。

        3)点击 克隆,等待完成即可

三、常见问题解决

1、SourceTree 提示 “SSH 认证失败”

  • 检查 SSH 密钥是否正确添加到 GitLab(公钥是否完整,邮箱是否匹配)。
  • 确认 SourceTree 使用的是系统 SSH(而非内置):SourceTree → 偏好设置 → 高级 → 取消勾选 “使用内置的 Git 库”,重启 SourceTree。

2、Windows 找不到 SSH 密钥

  • 确认密钥保存在 C:\Users\你的用户名\.ssh\ 目录下,且文件名是 id_ed25519/id_ed25519.pub(如果用 RSA 算法,是 id_rsa/id_rsa.pub)。

四、总结

1、核心前提

        必须先生成 SSH 密钥,并将公钥添加到 GitLab,否则无法通过 SSH 克隆 / 操作仓库。

2、克隆步骤

        复制 GitLab 仓库的 SSH 地址 → 在 SourceTree 中填写地址和本地路径 → 点击克隆即可。

3、排错关键

        SSH 认证失败优先检查密钥配置和 SourceTree 的 SSH 环境设置。

欢迎关注VX公众号:前端小知识营地

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐