我正在通过Git + Apache战斗并失去作用。
更具体地说:
接下来,我需要使用https克隆存储库。由于我的机器已经安装了Visual SVN Server安装,并且知道它与Apache服务器捆绑在一起,我想我会使用它。 我对如何说服Apache通过https服务Git存储库的理解来自本教程:http://blog.subgit.com/visualsvn-subversion-server-and-git/
根据它:
将以下内容添加到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'找不到
此时我的大脑出现了蓝屏。
提及:
我可以看到习惯的文件结构:一个隐藏的.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个以上的链接;这是我的第一篇文章,我根本没有声誉(但是,它们实际上不是链接)。