我是一名使用 git 和 SourceTree 的自由开发人员。
在过去的几个月里,我一直在为一个拥有私有 GitHub 存储库的特定客户工作,在那段时间里我一直在使用 SourceTree 将更改拉取和推送到 GitHub。
我有另一个客户希望我创建一个“编程入门”课程,而我(愚蠢地)只是使用了正常的操作系统环境/用户,而不是创建一个新的操作系统用户。我创建了一个新的“演示”GitHub 用户并将其连接到 SourceTree,以便我可以向学生展示如何从 GitHub 存储库推送和拉取。我还关闭了其他客户的存储库的 SourceTree 选项卡。
我现在正尝试重新处理我的第一个客户的项目,但发现自己无法从远程存储库中获取/拉取,甚至无法重新克隆存储库。
当我尝试获取或克隆时看到的错误是:
git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks fetch --prune origin
远程:未找到存储库。
致命:存储库'https://github.com/org_name/repo_name/ https://github.com/org_name/repo_name/' 未找到
已完成,但有错误,见上文。
我尝试过的事情
I've:
- 在我的浏览器中注销演示 GitHub 帐户,
- 从 SourceTree 中删除了模拟帐户,
- 重新启动了我的电脑
- 删除了我的 Windows 凭据管理器中所有与 git/GitHub 相关的条目,并在尝试获取时提示登录
- 卸载并重新安装 SourceTree
- 我验证了我可以使用 HTTPS URL 和 SSH URL 克隆我的 GitHub 帐户下的另一个私有存储库。
我认为正在发生的事情
起初我怀疑 git 在尝试访问私人存储库时仍在使用该演示帐户。不过,我能够将另一个 GitHub 存储库从我的 GitHub 帐户添加到 SourceTree 并毫无问题地从中获取,如果 git 或 SourceTree 仍在使用我的演示帐户的凭据,这可能不会发生。
此时,我怀疑我尝试连接到存储库的方式可能存在一些问题,但我不确定它可能是什么。
检查你的git config credential.helper
.
如果设置,它可能缓存了错误的 GitHub 用户凭据:您需要将其删除。
在 Windows 上 https://stackoverflow.com/a/38553149/6309:
printf "Host=github.com\nusername=xxx\nprotocol=https" | \
git 凭证管理器核心擦除
On Mac https://help.github.com/en/articles/updating-credentials-from-the-osx-keychain:
printf "Host=github.com\nusername=xxx\nprotocol=https" | \
git 凭证-凭证-osxkeychain 擦除
(详见“从 Git 中删除凭据 https://stackoverflow.com/a/69796505/6309")
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)