24

我正在尝试在服务器上安装 git,但在尝试执行第一次推送时遇到了一些问题。我在服务器上成功安装了 git,在本地和服务器上创建了存储库,但是当我尝试进行第一次推送时,我收到以下消息:

stdin: is not a tty
fatal: '/my_repo.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

我用谷歌搜索并跟踪了我能找到的所有内容,但没有任何效果。有什么问题?

4

4 回答 4

57

我会假设你正在使用 ssh 来克隆你的 repo。

这意味着您需要 ssh 地址中服务器上 repo 的完整路径:

git clone ssh://sshuser@serverIP/full/absolute/path/to/my_repo

注意:如果你的 'my_repo' 是一个空的(允许推送),那将是:

git clone ssh://sshuser@serverIP/full/absolute/path/to/my_repo.git

stdin: is not a tty简单地说,在帐户.bashrcsshuser,有一些东西需要输入。

于 2012-05-01T00:45:57.010 回答
11

可能是您忘记git --bare init在远程文件夹上运行那是我的问题

于 2014-02-25T23:12:02.423 回答
1

或者,您可以简单地使用:

git clone user@server:/full/path/to/your/directory
于 2013-04-06T00:53:16.843 回答
0

未入狱/未 chroot 的 git 用户也可能是问题来源,设置用户的主目录 ( ~/) 也可能有所帮助。例如,更改:

git clone -- 'ssh://user@host:port/dir/repo.git';

git clone -- 'ssh://user@host:port/~/dir/repo.git';

相关:Git“似乎不是一个git存储库”也可以在路径中使用~当你...)

于 2021-12-18T03:18:27.557 回答