1

我已经通过 http 设置了一个 git 服务器,并且我能够成功地从 http 服务器克隆或拉取,但是当我发出 git push 时,我收到以下错误

  Fetching remote heads...
 refs/
 refs/tags/
 refs/heads/
updating 'refs/heads/master'
from bc6087dffe872999105c79e8b4bdb34d3a5b7bce
to   90e7a617d575f82060c587badc0740733131266c
sending 2 objects
MKCOL 9d815311716ad694266a0cff2f17205aa12ee87c failed, aborting (22/403)
MKCOL 90e7a617d575f82060c587badc0740733131266c failed, aborting (22/403)
Updating remote server info
fatal: git-http-push failed

我们可以通过 http 执行 git push,还是 http 只能用于读取访问?或者它也可以用于写访问?

我打开了 Web DAV,是否必须进行任何其他更改才能执行 git push?

4

1 回答 1

1

不要使用 WebDAV。将您的 HTTP 服务器设置为智能 HTTP 服务器

如果您使用的是 Apache 并已git安装在 中/usr,那么您可以将其添加到您的httpd.conf

SetEnv GIT_PROJECT_ROOT [path_to_git_repo_root]
SetEnv GIT_HTTP_EXPORT_ALL
ScriptAlias /git/ /usr/libexec/git-core/git-http-backend/
于 2013-10-29T19:10:43.947 回答