我刚刚在现有的网站根目录中初始化了一个GIT仓库。 我有本网站的本地开发副本,已经是GIT回购。我不能只从另一个克隆一个,因为多年来本地/现场版本已经失去同步。
我正试图让他们再次使用GIT,但我希望能够在现场网站上进行获取并运行 git diff < / p>
我的问题是,在本地网站上我已将实时网站添加为远程仓库:
git remote add live user@server.co.uk:/path/to/repo
我可以通过ssh成功登录我的服务器:
ssh user@server.co.uk
但是当我尝试获取并输入ssh密码时,命令行只返回密码提示,就好像我输错了一样。但我知道密码是正确的,因为我可以使用SSH登录。
我是否必须在远程网址之前指定 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
答案 0 :(得分: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
请注意:
将服务器名称与服务器路径分开。
答案 1 :(得分:0)
url = ssh://user@server.co.uk:/path/to/repo
答案 2 :(得分:0)
以下仅适用于您对服务器的shell访问权限。可能不是你想要的,但是你想尝试设置一个公钥/私钥auth。只需使用以下命令生成RSA密钥对:
ssh-keygen -t rsa
我建议您使用密码短语,因为您可以在生成密钥对后将公钥存储到您的服务器上,然后将其存储在ssh-agent
中,您可以使用scp:
scp -p ~/.ssh/id_rsa.pub host:~/.ssh/
然后在服务器中执行cat id_rsa.pub >> authorized_keys