Windows Git和SSH-如何知道使用哪个地址?

Windows Git和SSH-如何知道使用哪个地址?,windows,git,ssh,Windows,Git,Ssh,我需要在生产服务器中设置一个git存储库,以便上传所有提交。因此,以下是我遵循的步骤: 生产服务器(Windows Server 2008) 已安装Git 在inetpub/wwwroot创建了一个空存储库 安装的copsh 创建了一个新的用户帐户 为用户启用了CopSSH 将新用户的默认目录更改为存储库地址 设置环境变量以读取Git命令 开发(Windows 7+Netbeans) 已安装Git 在我的项目所在的位置创建了一个存储库 已将项目的所有文件添加到存储库 现在,我需要将我的开发项目上

我需要在生产服务器中设置一个git存储库,以便上传所有提交。因此,以下是我遵循的步骤:

生产服务器(Windows Server 2008)

  • 已安装Git
  • 在inetpub/wwwroot创建了一个空存储库
  • 安装的copsh
  • 创建了一个新的用户帐户
  • 为用户启用了CopSSH
  • 将新用户的默认目录更改为存储库地址
  • 设置环境变量以读取Git命令
  • 开发(Windows 7+Netbeans)

  • 已安装Git
  • 在我的项目所在的位置创建了一个存储库
  • 已将项目的所有文件添加到存储库
  • 现在,我需要将我的开发项目上传到prod。首先,我要检查我指向的SSH默认目录是否是存储库:

    $ 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
    ,但仍然无法工作。