You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Gitlab账号通过Sourcetree登录失败及Personal Access Token使用疑问

我来帮你梳理下这个问题的解决方案,以及你关于Personal Access Token的疑问:

解决Sourcetree连接GitLab时「Authentication Failed」的问题

一、排查登录失败的核心原因

  • 检查双因素认证(2FA)状态:如果你的GitLab账号开启了2FA,直接用用户名+密码登录Sourcetree肯定会失败——因为GitLab需要额外的验证码,但Sourcetree的基础登录流程不支持输入验证码。这种情况下必须使用Personal Access Token(PAT)或者应用密码,而非原账号密码。
  • 清除旧凭据缓存:Sourcetree可能缓存了失效的登录信息,导致验证失败:
    • Windows:打开「控制面板」→「用户账户」→「凭据管理器」,找到所有和GitLab相关的条目,删除后重新尝试登录。
    • Mac:打开「钥匙串访问」,搜索GitLab相关的密码条目,删除后再进行操作。
  • 确认PAT的权限配置:你创建的PAT必须包含必要权限,至少要勾选read_repository(仅拉取代码),如果需要推送代码则加上write_repository,建议按需勾选,避免过度授权。

二、关于Personal Access Token登录流程的疑问解答

你提到选「Personal Access Token」时仍被要求登录账号,且没机会输入令牌,这大概率是没在Sourcetree的添加流程中切换到正确的认证选项。正确操作步骤如下:

  1. 打开Sourcetree,进入「工具」→「选项」→「认证」,点击「添加」按钮。
  2. 在弹出窗口中选择「GitLab」作为托管服务。
  3. 此时界面会显示两种认证方式:默认的「用户名/密码」和「Personal Access Token」,一定要切换到「Personal Access Token」标签页
  4. 在该标签页输入你的GitLab用户名,粘贴你创建好的PAT,点击「保存」即可完成认证。

部分版本的Sourcetree会先显示用户名输入框,但核心是要切换到PAT专属的输入界面,而非停留在用户名密码的登录流程里。

三、额外验证步骤

  • 手动测试PAT有效性:在终端执行命令 git clone https://oauth2:<你的PAT>@gitlab.com/<你的用户名>/<仓库名>.git,如果能成功克隆,说明PAT是有效的,问题出在Sourcetree的配置环节。
  • 检查GitLab访问限制:确认你的账号没有IP访问限制,或者目标仓库的权限设置正常(既然你在Chrome能访问,这条可能性较低)。

内容的提问来源于stack exchange,提问作者Dadinho

火山引擎 最新活动