Git fetch/pull已经停止工作。

10

昨天在服务器(AWS实例)上,Git fetch 和 pull 都停止工作了。

$ git fetch
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly
在该实例上有两个仓库副本,两者都出现了相同的错误。从本地计算机上git仍然能够正常工作。 git remote -v在本地计算机和服务器上给出了相同的结果; ssh git@github.com正常工作(“Hi(name)!您已成功验证,但GitHub不提供shell访问权限。”)。
行为上有一个区别:git pull origin st+ [Tab]以前会扩展为分支名称;现在它会扩展为当前目录中文件的名称(文件名与分支名称不同)。
更新:我尝试重新创建远程:SSH版本仍然失败,但HTTP起作用。
根据git邮件列表的讨论,这实际上是GitHub网站上出现的问题。
更新:
输出使用GIT_TRACE=1
############# Local results #############

$ GIT_TRACE=1 git fetch
setup: git_dir: .git
setup: worktree: c:/Projects/(local_path)
setup: cwd: c:/Projects/(local_path)
setup: prefix: (null)
trace: built-in: git 'fetch'
trace: run_command: 'ssh' 'git@github.com' 'git-upload-pack '\''(username)/(reponame).git'\'''
Enter passphrase for key '(keyname)':
trace: run_command: 'rev-list' '--quiet' '--objects' '--stdin' '--not' '--all'


############# AWS results #############

$ GIT_TRACE=1 git fetch
trace: built-in: git 'fetch'
trace: run_command: 'ssh' 'git@github.com' 'git-upload-pack '\''(username)/(reponame).git'\'''
ERROR: Repository not found.
fatal: The remote end hung up unexpectedly

1
你能否尝试明确指定 git fetch origin 吗? - djs
从本地计算机获取、拉取和推送都可以正常工作,所以我确定 Github 存储库已经就位并且可用。 - egor83
3
有一个报告的问题是在 .git/config 文件中的 url = git@github.com:.... 行末尾遗留了一个 Windows 的 CR 符号。你能检查一下吗?请注意不要改变原意。 - vhallac
2
首先尝试在环境中导出 GIT_TRACE=1,例如 $ GIT_TRACE=1 git push ... -- 你能在输出中看到任何有趣的东西吗? - kostix
1
@egor83,目前我没有明确的想法,但是可以尝试研究这些结果--特别是第一个。P.S.请使用“@”引用你回答评论的人,否则他/她将不会收到你的回复通知。 - kostix
显示剩余12条评论
1个回答

7
问题解决了。
原来这是我们方面的误解:设置那个盒子的人已经离开,他对GH repo的访问权限已被撤销。
GitHub返回“repo not found”而不是“您没有此存储库的访问权限”-他们的支持说,除非您拥有对其的访问权限,否则他们不想泄露存储库的存在。

2
你不是唯一一个掉进那个陷阱的人 :). 不确定为什么他们实现了无访问权限的404。 - Abe Petrillo
他们的支持表示,除非您拥有访问权限,否则他们不想泄露存储库的存在。我不相信那个说法。 当您确实拥有访问权限,但密码不再在本地缓存时,他们也会提供相同无用的错误消息,并且当您只拥有只读访问权限时,您也会收到该消息。 在这两种情况下,您显然已经知道存储库的存在。 - Kaiserludi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接