首页 > 解决方案 > 创建新的 GitHub 帐户后无法从私有仓库克隆/获取

问题描述

我是一名使用 git 和 SourceTree 的自由开发者。

在过去的几个月里,我一直在为一个拥有私人 GitHub 存储库的特定客户工作,在那段时间里我一直在使用 SourceTree 来拉取和推送对 GitHub 的更改。

我有另一个客户希望我创建一个“编程入门”课程,而我(愚蠢地)只是使用了我的正常操作系统环境/用户,而不是创建一个新的操作系统用户。我创建了一个新的“演示”GitHub 用户并将其连接到 SourceTree,这样我就可以向学生展示如何从 GitHub 存储库推送和拉取。我还为我的其他客户的仓库关闭了 SourceTree 选项卡。

我现在正试图重新开始处理我的第一个客户的项目,但我发现自己无法从远程存储库中获取/提取,甚至无法重新克隆存储库。

当我尝试获取或克隆时看到的错误是:

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch --prune origin remote:找不到存储库。致命:未找到存储库“ https://github.com/org_name/repo_name/ ”

完成错误,见上文。

我尝试过的事情

我有:

我认为正在发生的事情

起初,我怀疑 git 在尝试访问私人仓库时仍在使用该演示帐户。但是,我能够将另一个 GitHub 存储库从我的 GitHub 帐户添加到 SourceTree 并毫无问题地从中获取,如果 git 或 SourceTree 仍在使用我的演示帐户的凭据,这可能不会发生。

在这一点上,我怀疑我尝试连接到存储库的方式可能存在一些问题,但我不确定它可能是什么。

标签: gitgithubatlassian-sourcetree

解决方案


检查您的git config credential.helper.

如果设置,它可能为 GitHub 缓存了错误的用户凭据:您需要将其删除。

在 Windows 上

printf "Host=github.com\nusername=xxx\nprotocol=https" | \

git credential-manager-core 擦除

在 Mac 上

printf "Host=github.com\nusername=xxx\nprotocol=https" | \

git credential-credential-osxkeychain 擦除

(如“从 Git 中删除凭据”中详述)


推荐阅读