GIT - '〜/ repo.git /'不是git命令

时间:2011-12-08 07:42:06

标签: git smartgit

我遇到远程git repo和本地repo(使用SmartGit)的问题。

我正在通过ssh在我的服务器上创建远程仓库:

> cd ~
> git init repo.git
> cd repo.git
> touch readme
> git add .
> git commit -m "Initial commit"

从这里一切看起来都很完美。现在我正在尝试使用带有命令

的Smartgit克隆repo
ssh://user@server:22/~/repo.git

一切都克隆得很好。我在自述文件中进行了更改,保存并尝试提交并推送并获取错误:

The remote end hang up unexpectedly
git: '~/repo.git' is not a git command. See 'git --help'

我做错了什么? 谢谢。

3 个答案:

答案 0 :(得分:2)

使用:

GIT_TRACE=2 git push origin master

看看调试问题的情况。

更新

正在尝试git-receive-pack

尝试以下操作:

git config --global remote.origin.receivepack "git receive-pack"

然后再次推动。

您可以尝试的其他事项:

在远程服务器上设置一个裸仓库:

git init --bare

然后尝试克隆并推送它。

答案 1 :(得分:1)

我建议使用完整路径而不是主页快捷方式(〜),例如git clone ssh://user@server/home/tuergeist/repo

这适用于我在Linux上,也适用于WindowsXP中的git bash。

你也应该忽略.git扩展,这可能会混淆你的工具,因为它需要一个裸存储库。 (但我不确定)

答案 2 :(得分:0)

您无需指定端口22;这是SSH的默认端口。此外,如果您指定user@server:path,则默认使用SSH。

尝试使用...进行克隆

user@server:~/repo.git

代替。