1

系统:

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=sourcetreeSourcetree 最初发出的 git 命令中的位有关。是否有一个单独的凭证存储来保存我的旧凭证?

一些测试似乎表明情况确实如此。我还有另一个托管相同存储库的远程设备,当我设置它时(用户名/密码没有混淆),然后删除保存到钥匙串的凭据,随后的提取不会询问我的凭据. 但是,在 *?!$ 他们在哪里?(以及如何清除它们??)

4

2 回答 2

0

我遇到了完全相同的问题,希望我的解决方案也适用于您。尝试关注这篇文章https://docs.aws.amazon.com/codecommit/latest/userguide/troubleshooting-ch.html#troubleshooting-macoshttps

  1. 转到访问控制并从 git-codecommit 中删除 git-credential-osxkeychain
  2. 经过数小时的研究,这篇文章是唯一提供添加空助手的解决方案的文章,并且以某种方式为我解决了这个问题。

[凭据]

帮手=

helper = !aws --profile CodeCommitProfile codecommit credential-helper $@

UseHttpPath = true

于 2022-02-11T18:30:39.557 回答
0

我最好的猜测是,这在某种程度上与 Sourcetree 最初发出的 git 命令中的 -c credential.helper=sourcetree 位有关。是否有一个单独的凭证存储来保存我的旧凭证?

显然是这样:见这个 2014 年线程,2020 年修订:

有趣的是,我在 2020 年仍然遇到这个问题,我将此归咎于 Apple,因为我在他们的所有产品中都以某种方式遇到过同样的问题。
他们要求你连接其他服务,或者他们不停地用警报和弹出窗口惩罚你,直到你气得发抖。
以上解决方案都不适合我,但我找到了一个:

从 SourceTree 中删除 Atlassian/BitBucket 关联。

Preferences>Accounts>RemoveAccount
于 2020-06-24T05:47:26.290 回答