git-upload-pack:在Windows上找不到命令,但在osx

时间:2018-06-17 09:14:38

标签: git gitlab

我试图克隆一个回购。 (GitLabs如果重要的话)

命令: git clone user@machine.com:user / project

从OS-X开始就像一个冠军一样,但它会在Windows上出现错误: 在Windows上找不到git-upload-pack:命令

现在,显然,我已经看到这里的消息说我只需要将它添加到Ah,Remote上的路径(由于我可以从OS-X克隆得很好,因此可以正确配置)这是在新VM上开箱即用的GitLabs安装。)

我已经看过一些消息,说我需要将它添加到Local Windows机器上的路径中。是的,做到了。我可以从命令提示符或git bash shell运行它,没有任何问题。 (运行git-upload-pack命令)

并且' git --exec-path'回来了 C:/ Program Files / Git / mingw64 / libexec / git-core

其中当然有程序。

显然,程序应该告诉我哪一方失败了,但事实并非如此。在我看来,'上传'必须在gitlabs方面,因为那是正确上传内容的一方吗?

我还尝试在本地创建git repo并尝试将其连接到遥控器,但它说我没有远程设置,并且给我一个执行失败的命令。

  

git push origin   致命的:当前的分公司主人   没有上游分支。要推送当前分支并设置远程   作为上游,使用

git push --set-upstream origin master
     

git push --set-upstream origin master    错误:src   refspec master与任何匹配。错误:无法将某些引用推送到   ' User@system.com:remoteuser表/ project.git'

有什么想法吗?

更新:我编辑了gitlabs提供的ssh值:' git @ ...'我误认为应该是user @,将其改回' git@machine.com:user / project'我能够正确克隆回购。此外,它还带回了(正如人们希望的那样)不允许的命令'如果我尝试了--upload-pack命令行参数。

1 个答案:

答案 0 :(得分:0)

git fetch-pack命令在将克隆传送到客户端的服务器上运行。

当您在客户端上运行git clonegit fetch时,您可以 - 但不应该 - 添加参数:

--upload-pack <path>

这会将路径传递到下一层,即服务器上运行的git fetch-pack。因此,您所看到的错误表明,当有人从OS X克隆时,无论运行什么机器,Gitlab服务器都运行git fetch-pack成功运行git upload-pack - 可能是因为用户的$PATH 1 - 运行git clone的Windows框中的相同或另一个用户导致同一个Gitlab服务器运行git fetch-pack,但找不到git upload-pack

就我在这里所说的那样,我可以用这个问题来诊断这个问题。

作为Code-Apprentice said in a comment,如果您在不使用git clone的情况下创建存储库,则应使用git remote add添加远程数据库。 (git clone命令基本上是git init,然后是git remote add,后跟git fetch,并根据需要在中间插入一些其他Git项目;然后在最后,clone执行git checkout。)

1 这显然取决于服务器上的操作系统和软件。

相关问题