1. 为什么SourceTree突然“不认”你的Git仓库了?
不知道你有没有遇到过这种情况:昨天还好好的,今天一打开SourceTree,想推送点代码到公司的GitLab或者GitHub,突然就弹出一个红色的错误框,提示认证失败。或者,你想从远程仓库拉取最新的代码,进度条转了半天,最后告诉你权限不足。这时候你心里肯定咯噔一下,心想:“我密码没输错啊,昨天还能用呢!”
这种情况在团队协作里其实特别常见,尤其是在一些对信息安全要求比较高的公司。很多公司会要求员工定期更换各种系统的密码,比如你的OA账号、邮箱密码,当然也包括代码仓库(像GitLab、Gitee这些)的账号密码。这本来是个好习惯,但问题就来了:你只在网页上改了密码,可你的电脑上,那些早就记住了你旧密码的工具,比如SourceTree,它并不知道这个变化。它还是傻乎乎地用着那个已经失效的旧密码去跟远程服务器“握手”,结果当然是被无情地拒之门外。
SourceTree本身并不会明文存储你的密码,它非常依赖macOS系统自带的一个“保险柜”——钥匙串访问。当你第一次在SourceTree里输入账号密码并勾选“记住”时,这个凭证信息就被加密保存到了钥匙串里。之后每次操作,SourceTree都会自动从钥匙串里读取,你再也无需手动输入,非常方便。但这也意味着,一旦你的真实密码变了,钥匙串里锁着的那个“旧钥匙”就再也打不开门了。所以,解决问题的核心思路很明确:把钥匙串里那个过时的“旧钥匙”找出来扔掉,然后让SourceTree拿着“新钥匙”重新存一次。
听起来很简单,对吧?但实际操作时,很多朋友会卡在一些细节上。比如,在钥匙串里找不到对应的条目怎么办?删除了钥匙串条目后,SourceTree为什么还是报错?或者,更棘手的是,你不小心在弹窗里又输错了新密码,导致问题更混乱了。别担心,接下来我会带你一步步彻底清理,不仅告诉你“怎么做”,还会解释“为什么这么做”,让你下次再遇到时,能自己举一反三。
2. 第一步:彻底关闭SourceTree,别让它“后台捣乱”
这是所有操作的第一步,也是很多人会忽略的一步。你可能觉得,把SourceTree窗口关掉就行了。但在macOS上,点击窗口左上角的红色关闭按钮,很多时候应用程序并没有完全退出,它可能还在后台运行着。如果SourceTree的进程没有完全结束,它可能会锁住一些我们要操作的配置文件,导致你无法删除,或者删除后它又立即生成一份错误的缓存。
所以,我们必须确保SourceTree完全退出。这里有两个我常用的方法,你可以任选其一:
方法一:通过Dock栏强制退出
- 在你的Dock栏上找到SourceTree的图标。
- 按住
Option键不放,同时用鼠标右键(或双指点击触控板)点击这个图标。 - 你会发现弹出的菜单里,原来的“退出”变成了“强制退出”。点击它。
- 这样能确保应用程序进程被彻底结束。
方法二:使用“活动监视器”核验(更彻底) 有时候为了保险起见,我会再用系统自带的“活动监视器”检查一下。
- 按下
Command + 空格键打开聚焦搜索,输


4006

被折叠的 条评论
为什么被折叠?



