系统:
MacOS Catalina 10.15.5 SourceTree v4.0.1
问题:
我有一个从 Github 克隆的本地存储库。该存储库也存在于另一个远程(它实际上是 Azure 函数的 git 存储库,因此不是其他常见的嫌疑人之一,例如 Bitbucket),我只是试图设置该远程,以便我可以获取/推送/等到它.
我在以前的机器上做过这个,并且我正在重新设置以在新的 MacBook 上进行开发,所以这是我以前做过的事情,但我只是犯了一个简单的复制/粘贴错误,我可以' t 似乎撤消。
在 SourceTree 中,我去菜单添加一个远程,只输入远程 URL:
在我同意之后,我去了遥控器列表,右键单击列表中的新添加,并尝试获取。这提示我输入用户名,然后输入密码。我错误地复制/粘贴了两个值之一,但现在似乎卡住了,无法简单地删除它。
现在,当我尝试使用该特定遥控器获取(或做任何事情)时,我不断收到 403 Forbidden 响应。
git --no-optional-locks -c color.branch=false -c color.diff=false -c color.status=false -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree fetch remote-name
fatal: unable to access 'https://actual-remote-url/git.git/: The requested URL returned error: 403
我在这里搜索了大多数关于从 Keychain Access 中删除单个条目以及从Application Support中删除文件的其他 SO 帖子。
当我直接从钥匙串中删除密钥时,我打开了 SourceTree,所以这可能会产生影响,但是在删除它们并尝试再次从远程获取之后,我只是得到了与以前相同的 403 错误(而不是它要求凭据)。
清除 SourceTree 的 Application Support 文件夹后也发生了同样的情况。它重新询问了我的 Github 遥控器凭据,但它没有询问我关于新遥控器的任何内容。当我尝试获取时,我得到了和以前一样的 403 错误。
在 Embedded Git 和 System Git 之间切换似乎完全没有效果。
我已经绕过喇叭并试图解决这个问题(此时添加遥控器绝对荒谬的 3 小时)并且还尝试过:
- 丢弃并重新安装 Sourcetree
- 使用
security
命令行工具(Keychain 的 CLI)来查看是否可以在任何地方找到对挂在边缘的遥控器的隐藏引用 - 摆弄凭证助手的东西(主要是把东西扔在墙上,没有东西粘着)
- 重新启动机器
但是,我绝对没有尝试再次产生用户名/密码提示,并且我总是收到 403。
我最好的猜测是,这在某种程度上与-c credential.helper=sourcetree
Sourcetree 最初发出的 git 命令中的位有关。是否有一个单独的凭证存储来保存我的旧凭证?
一些测试似乎表明情况确实如此。我还有另一个托管相同存储库的远程设备,当我设置它时(用户名/密码没有混淆),然后删除保存到钥匙串的凭据,随后的提取不会询问我的凭据. 但是,在 *?!$ 他们在哪里?(以及如何清除它们??)