sourcetree 推送等操作反复提示密码错误,主因是 git 凭据管理器配置不当或凭据失效,需改用 personal access token、清除系统凭据、重置 keychain、切换系统 git 并配置 gcm core,bitbucket 用户须用邮箱+app password 登录。

如果您在 Sourcetree 中执行 Push、Pull 或 Clone 操作时反复提示密码错误,这通常不是 Sourcetree 本身的问题,而是 Git 凭据管理器未正确配置或凭据已失效所致。以下是多种可立即验证和执行的解决方法:
一、使用 Personal Access Token 替代密码(GitHub / GitLab)
GitHub 和 GitLab 已全面弃用账户密码认证,必须改用 Personal Access Token(PAT)作为密码输入。Token 具有细粒度权限控制且可随时撤销,安全性更高。
1、登录 GitHub → 右上角头像 → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token。
2、填写 Note(如 Sourcetree-GitHub),勾选 repo 权限(必要),其他按需选择,点击 Generate token。
3、复制生成的完整 Token 字符串(仅此一次可见,务必保存)。
4、在 Sourcetree 中触发一次 Push 操作,当弹出凭据窗口时,用户名填您的 GitHub 账户名,密码栏粘贴该 Token。
5、勾选 “Remember my credentials”,点击 OK 完成存储。
二、清除并重建系统级 Git 凭据(Windows)
Windows Credential Manager 中残留的错误凭据会持续干扰 Sourcetree,导致每次操作都复用失效凭证。必须彻底删除旧记录并触发新凭据存储流程。
1、按下 Win + R,输入 control.exe /name Microsoft.CredentialManager,回车打开凭据管理器。
2、切换到“Windows 凭据”选项卡,展开“普通凭据”。
3、查找所有含 github.com、gitlab.com 或 bitbucket.org 的条目,逐个右键 → 删除。
4、在 Sourcetree 中右键仓库 → Terminal,执行 git push origin main(或对应分支),强制触发新凭据弹窗。
5、在弹窗中输入正确用户名与 Token(非密码),勾选记住,完成注册。
三、重置 macOS Keychain 凭据(macOS)
macOS 使用 Keychain 存储 Git 凭据,若 Keychain 中存在冲突或损坏记录,会导致 Sourcetree 认证失败且无法弹窗。需手动定位并清除对应服务条目。
1、打开“钥匙串访问”应用,在左上角搜索框输入 github 或 git-credential-osxkeychain。
2、在结果中找到类型为 “internet password” 且“服务器”字段为 github.com 的条目。
3、双击该条目 → 勾选“显示密码”,输入系统管理员密码解锁 → 点击“删除”。
4、打开 Sourcetree 终端,运行 git credential reject,然后按两下回车。
5、再次执行 git push,等待新认证弹窗出现并填入 Token。
四、禁用嵌入式 Git,强制使用系统 Git 并更新凭据管理器
Sourcetree 自带的嵌入式 Git 版本老旧,其内置凭据管理器不兼容现代 OAuth 流程。必须切换至最新版系统 Git,并确保其凭据管理器为 Git Credential Manager Core(GCM Core)。
1、前往 https://git-scm.com/download/win(Windows)或 https://sourceforge.net/projects/git-osx-installer/(macOS)下载并安装最新 Git。
2、Windows:Tools → Options → Git → 勾选 Use System Git → 手动指定路径为 C:\Program Files\Git\bin\git.exe(非 cmd\git.exe)。
3、macOS:Preferences → Git → Path to Git → 粘贴终端执行 which git 输出的路径(如 /opt/homebrew/bin/git)。
4、在终端运行 git config --global credential.helper manager-core(Windows/macOS 均适用)。
5、重启 Sourcetree,重新触发 Push 操作。
五、Bitbucket 用户专用修复:必须使用邮箱登录
Bitbucket 自 2018 年起强制要求使用注册邮箱而非用户名进行 HTTPS 认证。若使用用户名登录,将触发循环认证失败及“Too many login attempts”错误。
1、进入 Windows Credential Manager 或 macOS Keychain,删除所有含 bitbucket.org 的凭据条目。
2、在 Sourcetree 中执行任意远程操作(如 Fetch),等待凭据弹窗出现。
3、在用户名字段中输入您的 完整注册邮箱地址(例如 name@domain.com),密码字段输入 App Password(非账户密码)。
4、App Password 需在 Bitbucket 设置中单独生成:Settings → App passwords → Create app password → 勾选 Repositories: Read and write → 保存后复制使用。










