【发布时间】:2020-11-18 06:48:30
【问题描述】:
我有一个 NAS,我在其上使用命令 git --bare init 创建了一个远程存储库,然后我在我的机器上使用命令 git clone ssh://ID@PathToDistantRepo 克隆了这个存储库,它告诉我已经克隆了一个空存储库。
到目前为止,我没有任何问题。
我添加了一些东西,我做出了我的提交,一切都很好,没有错误,并且提交出现在历史记录中。
但是当我执行git push origin master 时,它会询问我三次 ssh 连接的密码,然后什么也没有。我让它运行了半个小时,提示仍然冻结,没有任何指示。
如果我添加“-verbose”选项,没什么新的。
如果我运行git remote show origin,它会询问我密码,然后给我看这个:
* remote origin
Fetch URL: ssh://ID@PathToDistantRepo
Push URL: ssh://ID@PathToDistantRepo
HEAD branch: (unknown)
Local branch configured for 'git pull':
master merges with remote master
我没有给你确切的网址,但它们很好,我在网上搜索,但我一定不知道如何放置正确的关键字,因为我找不到任何东西。
提前感谢您的帮助。
【问题讨论】:
-
第一次尝试
git push -u origin --all。我会尝试的另一个调试选项是在本地文件夹(而不是 NAS)上创建一个裸目录,使用相同的命令并查看它是否可以作为测试。另外 - 不确定,但既然你必须通过 SSH 连接到 NAS,那么我认为服务器是否有自己单独的 git 安装?但我不确定,是否需要运行服务来处理本地推送请求?我不确定这种交接是如何发生的...... -
也许这是相关的:stackoverflow.com/a/32792843/4865273 Restarting ssh agent 和 sshd server 显然解决了这个问题。
-
我已经测试了
git push -u origin --all,但没有什么新东西。在查看如何重新启动 ssh 代理之前,我尝试在相同的设备上创建一个新的远程存储库,但其中几乎没有任何内容,只是一个文件夹和一个文本文件,并且 push 命令可以完美运行。我要推送的文件夹很重“1.05Go”,因为它是一个 Unity 项目。但我已经这样做了,它奏效了。我会让命令提示符工作很长时间,以防它很忙,直到所有文件都被扫描或我不知道。 -
如果您的问题是特定于大型提交,请尝试增加 postBuffer。我在下面更新了我的答案。
标签: git