Windows Git和SSH-如何知道使用哪个地址?
我需要在生产服务器中设置一个git存储库,以便上传所有提交。因此,以下是我遵循的步骤: 生产服务器(Windows Server 2008)Windows Git和SSH-如何知道使用哪个地址?,windows,git,ssh,Windows,Git,Ssh,我需要在生产服务器中设置一个git存储库,以便上传所有提交。因此,以下是我遵循的步骤: 生产服务器(Windows Server 2008) 已安装Git 在inetpub/wwwroot创建了一个空存储库 安装的copsh 创建了一个新的用户帐户 为用户启用了CopSSH 将新用户的默认目录更改为存储库地址 设置环境变量以读取Git命令 开发(Windows 7+Netbeans) 已安装Git 在我的项目所在的位置创建了一个存储库 已将项目的所有文件添加到存储库 现在,我需要将我的开发项目上
$ git ls-remote ssh://user@server/
fatal: '/' does not appear to be a git repository
fatal: Could not read from remote repository
Please make sure you have the correct access rights
and the repository exists.
我尝试添加文件夹名“.git”、foldername.git以及所有内容,但得到了相同的错误
我的问题在哪里?事先谢谢你
另外,我已经测试了新的默认目录,它直接指向服务器中的空存储库,所以它可以正常工作
编辑:我试过这个:
$ git ls-remote user@host:.git
user@host's password:
$_
我没有输出。可以吗?您的意思是服务器上的git存储库位于
/
(比如说,您应该有一个/.git
目录)。因为这可能不是真的,我建议您通过ssh
连接到服务器,运行pwd
(或它的Windows等效程序)找到主目录所在的位置,然后获取到存储库的相对路径
比如说,如果在登录服务器后立即运行pwd
将为您提供C:\users\my\u user
,并且您的git存储库位于C:\users\my\u user\git\my\u project
,请使用ssh://user@服务器:git/my_project
作为URL。:
表示来自主目录的相对路径
也可以使用绝对路径,如
ssh://user@server/c/users/my_user/git/my_project
,或者Windows决定命名您的c:
partition:)当您使用ssh传输时,您的语法尝试访问Copssh安装的根目录,例如:如果您在c:\Copssh安装了Copssh,那么您的根目录(/)是同一个目录
您的命令git ls remotessh://user@服务器/尝试访问该目录
试试像这样的东西
git ls远程ssh://user@服务器/home/user*(c:\copssh\home\user)或
git ls远程ssh://user@服务器/cygdrive/d/mygit(如果您的存储库位于d:\mygit)
如果你都想创建一个基于Windows的Git存储库,你可以考虑坚持它具有完全的功能。这是Cygwin上的Git,免责声明:我是开发者。
哦,不。/
不是服务器所在的位置,而是到/.Git
的相对路径。相对的/
位于C:\inetpub\wwwroot\repo
。但也许我可以把房子恢复到原来的价值,然后照你说的做。我现在就这么做。好的,我试过了,使用gitlsremote
和ssh://user@server/c/inetpub/wwwroot/repo/.git
,ssh://user@服务器/c/inetpub/wwwroot/repo/
和ssh://user@server/c/inetpub/wwwroot/repo.git
。尝试在c
之前添加cygdrive
,但仍然无法工作。