2

我刚刚在现有网站根目录中初始化了一个 GIT 存储库。我有这个站点的本地开发副本,它已经是一个 GIT 存储库。我不能只是从另一个克隆一个,因为多年来本地/实时版本已经不同步。

我试图让他们再次与 GIT 对齐,但我希望能够在实时站点上进行提取并运行git diff

我的问题是,在本地站点上,我已将实时站点添加为远程存储库:

git remote add live user@server.co.uk:/path/to/repo

我可以通过 ssh 成功登录到我的服务器:

ssh user@server.co.uk

但是当我尝试获取并输入 ssh 密码时,命令行只会返回密码提示,就好像我输入错误一样。但是我知道密码是正确的,因为我可以使用 SSH 登录。

我必须在远程 URL 之前指定ssh://吗?我必须做些什么才能使 ssh 远程存储库正常工作

更新

我添加了ssh://前缀,但没有任何区别。这就是它在 .git/config 中的样子

[remote "live"]
    url = ssh://user@server.co.uk/path/to/repo
    fetch = +refs/heads/*:refs/remotes/live/*

运行GIT_TRACE=true git fetch live添加以下行:

trace: run_command 'ssh' 'user@server.co.uk' 'git-upload-pack '\''/path/to/repo'\'''

在收到消息之前,我必须输入 3 次密码:

fatal: the remote end hung up unexpectedly
4

3 回答 3

2

我认为您缺少遥控器的别名。

git remote add origin user@server.co.uk:/path/to/repo

注意origin位。

您发布的 .git/config 是否准确?如果是,请尝试将远程 url 从

url = ssh://user@server.co.uk/path/to/repo

url = user@server.co.uk:/path/to/repo

请注意将:服务器名称与服务器路径分开。

于 2012-05-02T08:59:05.617 回答
0

以下仅适用于您对服务器具有 shell 访问权限的情况。可能不是您想要的,但如果您想尝试设置公钥/私钥身份验证。只需使用命令生成 RSA 密钥对:

ssh-keygen -t rsa 我建议您使用密码,因为您可以ssh-agent在生成密钥对后将其存储,将公钥复制到您的服务器,您可以使用 scp :

scp -p ~/.ssh/id_rsa.pub host:~/.ssh/然后在服务器上做cat id_rsa.pub >> authorized_keys

于 2012-05-02T10:05:00.283 回答
0

是的,你需要 ssh://。只需在 .git/config 文件中更改它:

url = ssh://user@server.co.uk:/path/to/repo
于 2012-05-02T08:58:22.907 回答