最近,我在命令行和GitHub Desktop上从git收到了奇怪的错误。让我们关注命令行(仓库在GitHub上分叉):
$ git fetch upstream
repository does not exist.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
很奇怪。当我通过git config --get remote.upstream.url
检查URL时,会得到正确的URL。但是,git remote show upstream
给出的错误与先前的fetch
相同。当我输入git remote show -n upstream
时,会出现一些混乱的URL:
* remote upstream
Fetch URL: git@bitbucket.org:doekman/mac-bin.gitgithub.com/secretGeek/ok-bash.git
Push URL: git@bitbucket.org:doekman/mac-bin.gitgithub.com/secretGeek/ok-bash.git
第一个URL(git@bitbucket.org:doekman / mac-bin.git)是我自己的存储库,但与我正在使用的存储库无关,另一部分(github.com/secretGeek/ok- bash.git)是我需要的上游URL。
GitHub桌面检测到错误,并建议修复该错误,但是当我按fix时,什么也没有发生。
奇怪的是,.git/config
文件看起来还好吗?
我可以重新克隆该存储库,并在上游进行重新配置,但是我想知道这是如何发生的和/或它是如何工作的。
更新
由于在mac-bin
文件夹中对.git
的文本搜索没有任何作用,因此我环顾四周,发现以下内容已添加到我的~/.gitconfig
文件中。
是什么原因导致这些行被添加。我确定没有添加这些内容:
[url "git@bitbucket.org:doekman/mac-bin.git"]
insteadOf = https://
[url "https://<GITUSERNAME>@"]
insteadOf = git://
答案 0 :(得分:1)
正确的代替Of不仅需要URL方案(https://或SSH://),还需要适当的URL来替换)
如果可以,请从配置文件中删除这些指令,而不是指令。
此外,请使用以下命令检查其他任何类似值:
git config -l --show-origin