创建新 GitHub 帐户后无法从私人仓库 clone/fetch

Unable to clone/fetch from private repo after creating new GitHub account

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

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

我有另一个客户希望我创建一个 'Intro to Programming' 课程,而我(愚蠢地)只是使用我的正常 OS environment/user 而不是创建一个新的 OS 用户。我创建了一个新的 'demo' GitHub 用户并将其连接到 SourceTree,这样我就可以向学生展示如何从 GitHub 存储库中推送和拉取。我还关闭了其他客户存储库的 SourceTree 选项卡。

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

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

git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch --prune origin remote: Repository not found. fatal: repository 'https://github.com/org_name/repo_name/' not found

Completed with errors, see above.

我尝试过的事情

我已经:

我认为正在发生的事情

起初我怀疑 git 在尝试访问私人仓库时仍在以某种方式使用该模拟账户。但是,我能够从我的 GitHub 帐户添加另一个 GitHub 存储库到 SourceTree 并从中获取而不会出现问题,如果 git 或 SourceTree 仍在使用我的,这可能不会发生模拟账户的凭据。

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

检查你的git config credential.helper

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

:

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

git 凭据管理器核心擦除

On Mac:

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

git 凭据-凭据-osxkeychain 擦除

(详见“Remove credentials from Git”)

我终于可以使用 SSH URL。

我从来没有让它与 HTTPS 来源一起使用 URL。我不知道为什么它不能那样工作,那一定是我以前使用它的方式,因为我没有在我的 GitHub 帐户上设置任何 SSH 密钥,所以我不能一直在使用 SSH 来源 URL.

以下是对我有用的设置:

我还必须将 Putty 生成的 SSH 密钥转换为 OpenSSH 格式并将其添加到我的 GitHub 帐户。

我通过将遥控器 URL 更改为:

来让它工作

https://my-github-用户名@github.com/org/repo