git - 创建新的 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/ ”
完成错误,见上文。
我尝试过的事情
我有:
- 在我的浏览器中退出演示 GitHub 帐户,
- 从 SourceTree 中删除了演示帐户,
- 重新启动了我的电脑
- 在我的 Windows 凭据管理器中删除了所有与 git/GitHub 相关的条目,并在尝试获取时提示登录
- 卸载并重新安装 SourceTree
- 我验证我可以使用 HTTPS URL 和 SSH URL 克隆另一个位于我的 GitHub 帐户下的私有存储库。
我认为正在发生的事情
起初,我怀疑 git 在尝试访问私人仓库时仍在使用该演示帐户。但是,我能够将另一个 GitHub 存储库从我的 GitHub 帐户添加到 SourceTree 并毫无问题地从中获取,如果 git 或 SourceTree 仍在使用我的演示帐户的凭据,这可能不会发生。
在这一点上,我怀疑我尝试连接到存储库的方式可能存在一些问题,但我不确定它可能是什么。
解决方案
检查您的git config credential.helper
.
如果设置,它可能为 GitHub 缓存了错误的用户凭据:您需要将其删除。
printf "Host=github.com\nusername=xxx\nprotocol=https" | \
git credential-manager-core 擦除
printf "Host=github.com\nusername=xxx\nprotocol=https" | \
git credential-credential-osxkeychain 擦除
(如“从 Git 中删除凭据”中详述)
推荐阅读
- python - 使用 Google Cloud Scheduler 在 Google Cloud Platform 中启动/停止 Kubernetes 集群
- symfony - 带有 EventSubscriber 的 Symfony 5.2 FileType 导致 Validationerror
- pointers - 如何检查 Box 是否为空指针?
- reactjs - 包裹在 Pressable 中的 react-native-swiper 在 iOS 上无法正常工作
- java - 为什么 glassfish 服务器只在重新启动后才加载一个 bean?
- python - 读取多个 CSV 文件并在新的单个 csv/文本文件中写入选择性变量
- html - 试图在窗口上添加滚动事件侦听器,但得到 Uncaught TypeError: Cannot read property 'classList' of null
- android - 范围存储支持 ContentResolver.insert 在某些设备上返回 null
- c++ - 来自 std::any 的足够哈希
- node.js - 以两种方式导入猫鼬模式使模式为空