0

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

生产服务器 (Windows Server 2008)

  1. 安装的 Git
  2. 在 inetpub/wwwroot 创建了一个空存储库
  3. 安装 CopSSH
  4. 创建了一个新的用户帐户
  5. 为用户启用 CopSSH
  6. 将新用户的默认目录改为仓库地址
  7. 设置环境变量以读取 Git 命令

开发(Windows 7 + Netbeans)

  1. 安装的 Git
  2. 在我的项目所在的位置创建了一个存储库
  3. 将项目的所有文件添加到存储库

现在,我需要将我的开发项目上传到 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 等所有内容,但我得到了同样的错误。

我哪里有问题?事先谢谢你。

PS 我已经测试了新的默认目录,它指向服务器中的空存储库,所以它正在工作。

编辑:我试过这个:

$ git ls-remote user@host:.git
user@host's password:

$_

我没有输出。可以吗?

4

2 回答 2

1

当您使用 ssh 传输时,您的语法会尝试访问 Copssh 安装的根目录,例如:如果您将 Copssh 安装在 c:\copssh,那么您的根目录 (/) 就是同一个目录。

您的命令git ls-remote ssh://user@server/尝试访问该目录。

尝试类似的东西

git ls-remote ssh://user@server /home/user* (c:\copssh\home\user) 或

git ls-remote ssh://user@server/cygdrive/d/mygit如果您的存储库位于 d:\mygit)

如果大家都想创建一个基于 Windows 的 Git 存储库,可以考虑坚持使用具有全功能免费版的Gitwin。虽然它是 Cygwin 上的 Git,但免责声明:我是开发人员。

于 2013-12-10T08:53:41.800 回答
1

您是说服务器上的 git 存储库位于/(例如,您应该有一个/.git目录)。由于这可能不是真的,我建议您通过连接ssh到服务器并运行pwd(或它的 Windows 等效项)以找到您的主目录所在的位置,然后获取到您的存储库的相对路径。

比如说,如果pwd在登录服务器后立即运行,C:\users\my_user并且您的 git 存储库位于C:\users\my_user\git\my_project,请ssh://user@server:git/my_project用作 URL。这:意味着您的主目录的相对路径。

您也可以使用绝对路径,例如ssh://user@server/c/users/my_user/git/my_project,或者 Windows 决定命名您的C:分区:)

于 2013-11-06T04:03:46.513 回答