如何正确确定Git存储库的URL

时间:2015-06-11 12:30:07

标签: git apache version-control

我正在通过Git + Apache战斗并失去作用。

更具体地说:

  • 我在Windows7 64位下安装了Git(转到git-scm.com/download/win)
  • 通过cmd.exe配置git(填写我的姓名,电子邮件等)
  • 在我的机器上创建了一个存储库(创建了一个文件夹 C:\ RepoGitPlayground ,通过cmd导航到它,做了一个" git init",在repo中添加了一些虚拟文件,然后" git add。",然后" git commit"然后是一些消息)

接下来,我需要使用https克隆存储库。由于我的机器已经安装了Visual SVN Server安装,并且知道它与Apache服务器捆绑在一起,我想我会使用它。 我对如何说服Apache通过https服务Git存储库的理解来自本教程:http://blog.subgit.com/visualsvn-subversion-server-and-git/

根据它:

  • 我使用mod_cgi.so文件扩充了Apache安装(这是一场战斗......它最初缺失了,因为Visual SVN Server只附带了缩减版的Apache)
  • 将以下内容添加到httpd-custom.conf文件(Apache配置文件):

    LoadModule cgi_module bin / mod_cgi.so

    LoadModule authz_user_module bin / mod_authz_user.so

    SetEnvIf Request_URI" ^ / git /.*$" GIT_PROJECT_ROOT = C:/ RepoGitPlayground

    SetEnvIf Request_URI" ^ / git /.*$" GIT_HTTP_EXPORT_ALL 1

    ScriptAlias / git /" C:/ Program Files(x86)/Git/libexec/git-core/git-http-backend.exe /"

    选项+ ExecCGI

    需要有效用户

    AuthName" Visual SVN Server"

    AuthType Basic AuthBasicProvider文件

    AuthUserFile" C:/ Repositories / htpasswd"

读者的必要信息:" Visual SVN Server"从上面(在脚本中)是发生事情的Windows帐户名称。它的密码是C中的fill_in:/Repositories/htpasswd.i_was_expecting_some_extension_here_but_it_has_none

以这种方式配置,Apache现在应该(根据教程)能够成功实现我的以下愿望:" git clone htps:// Visual_SVN_Server @ localhost / git / RepoGitPlayground C:\ SomeNewFolder"。

当被要求这样做时,它说   - 致命:存储库' htps:// Visual_SVN_Server @ localhost / git / RepoGitPlayground'找不到

此时我的大脑出现了蓝屏。

提及:

    在lipoGitPlayground文件夹中的
  • 我可以看到习惯的文件结构:一个隐藏的.git文件夹,其中包含常用的"钩子,信息,日志,对象,引用和#34;文件夹以及配置,描述,HEAD,索引等文件。古典,by_the_book Git存储库结构。

  • 另外,在MyComputer下,如果我右键单击RepoGitPlayground,会出现所有惯用的Tortoise Git选项(它们不会出现在any_other_ordinary_non_Git_repository文件夹中)

据我所知,我将Apache指向有效,合法的Git仓库。不知道为什么它不能找到"它

再次考虑命令" git clone htps:// Visual_SVN_Server @ localhost / git / RepoGitPlayground C:\ SomeNewFolder" ,我必须承认我不明白如何以及为何将地址拼凑在一起。

第一部分: htps:// Visual_SVN_Server @ localhost 看起来就像是一些普通的URL。人们在网络上使用的东西。

第二部分, / git / RepoGitPlayground 看起来更像是一个windows_style_hard_disk_path,并且这对我来说是不合理的,并没有想到2会像这样混在一起。

此外,是的,我认识到 RepoGitPlayground 部分,它是我用自己的手创建的文件夹......但我不知道是谁" git& #34;是(在它之前)。毕竟,我的文件夹位于C:\,而不是C:\ git。 但是,在上面的脚本中看到我在第3行写道:

" SetEnvIf Request_URI" ^ / git /.*$" GIT_PROJECT_ROOT = C:/ RepoGitPlayground"

我想到了" git"因为它只是C:/ RepoGitPlayground的别名。 因此,我尝试将clone命令修改为 git clone htps:// Visual_SVN_Server @ localhost / git C:\ SomeNewFolder ,但结果完全相同:找不到存储库。

对我来说另一个困惑点:我读了许多其他讨论,用htps来引用存储库://something_in_the_middle/repo_name.git

这是我的最后一部分:name_of_repository.git。 怎么会?根据理论,你有一些文件夹(你的存储库)和INSIDE OF IT你有一个简单的名为" .git"的隐藏文件夹。

毫无意义地说,我也尝试过这种方式(在命令行中添加.git"扩展名"到RepoGitPlayground),但它也没有用。

我上周一直在与此作斗争,除非很快找到解决办法,否则我的辞职必须走经理人的路。非常感谢任何帮助...

在整篇文章中,我故意省略了" t"在" https&#34 ;;我有很多这些作为" git clone"命令和StackOverflow将它们解释为链接;我必须至少有10个声望点才能发布2个以上的链接;这是我的第一篇文章,我根本没有声誉(但是,它们实际上不是链接)。

0 个答案:

没有答案