首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么这个git clone命令失败了?

为什么这个git clone命令失败了?
EN

Stack Overflow用户
提问于 2009-06-16 01:10:10
回答 9查看 100.6K关注 0票数 26

正在尝试使用git clone命令。我的理解(如果错误请更正)是,为了托管Git存储库,您只需要一台运行ssh的机器,并将项目/存储库放在允许的位置。

我在运行ssh的OS X系统上有我的git存储库。我正试图在Windows XP系统上克隆它。我在XP机器上安装了Git Bash。在Git bash (MINGW)控制台中,我可以毫无问题地通过ssh进入Mac。

然而,git clone失败了...

代码语言:javascript
运行
复制
$ git clone username@host:~/project/path/contactdb
Initialized empty Git repository in 
  c:/Documents and Settings/Administrator/My Documents/projects/contactdb/.git/
bash: git-upload-pack: command not found
fatal: The remote end hung up unexpectedly

尝试使用和不使用.git扩展:

代码语言:javascript
运行
复制
$ git clone username@host:~/project/path/contactdb

$ git clone username@host:~/project/path/contactdb.git

我是否需要在Mac上安装其他软件?

EN

回答 9

Stack Overflow用户

发布于 2009-06-16 07:13:36

您需要在拥有要克隆的Git存储库的机器上安装Git;此外,在执行ssh时,git-upload-pack必须在远程机器上的$PATH中。当直接ssh连接到远程机器时,你会得到类似如下的响应吗:

代码语言:javascript
运行
复制
$ ssh username@host git-upload-pack --help
usage: git upload-pack [--strict] [--timeout=nn] <dir>

或以下(错误)响应:

代码语言:javascript
运行
复制
$ ssh username@host git-upload-pack --help
bash: git-upload-pack: command not found

(当然,shell的名称取决于远程端使用的是什么)。

也可能出现问题(尽管可能不是您的情况)是错误配置了远程计算机,使其使用交互式shell进行ssh连接,或者在连接时给出一些消息,或者设置交互式变量,如臭名昭著的$CDPATH环境变量。

票数 21
EN

Stack Overflow用户

发布于 2011-01-05 08:17:04

我通过将以下行添加到远程计算机的~/.bashrc文件中解决了这个问题:

代码语言:javascript
运行
复制
export PATH=$PATH:"/usr/local/bin:/usr/local/git/bin"

问题是$PATH没有包含非交互式会话的/usr/local/git/bin。添加到~/.bashrc解决了这个问题。

票数 7
EN

Stack Overflow用户

发布于 2010-08-28 20:06:55

另一种方法是:

git克隆--upload-pack /path/to/git-upload-pack ssh://user@host/~/project/path/contactdb

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/999195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档