无法访问 URL http://mywebsite.com/myproject/,返回代码 22 致命:git-http-push 失败

无法访问 URL http://mywebsite.com/myproject/,返回代码 22 致命:git-http-push 失败

我已经在服务器上设置了一个远程 git 存储库。以下是文件和目录结构

/var/lib/git/myproject1 ## the git repository for myproject1
/var/lib/git/myproject2 ## the git repository for myproject2

/var/www/mywebwebsite.com/public_html/myproject1  ## symbolic link to /var/lib/git/myproject1
/var/www/mywebwebsite.com/public_html/myproject2  ## symbolic link to /var/lib/git/myproject2

以下是我的 .gitconfig 的样子

[core]
    excludesfile = /var/www/.gitignore
[user]
        name = webguy
        email = [email protected]

因此,我从本地主机成功运行了git pull mypro1 master,其中mypro1指向http://mywebsite.com/myproject1。 pull 按照预期从远程存储库下载了所有文件。但是当我执行 时git push mypro1 master,我收到错误

Cannot access URL http://mywebsite.com/myproject1/, return code 22 fatal: git-http-push failed 

我遇到了与存储库相同的错误myproject2

我是否错误地设置了 git 或 apache?

答案1

您需要启用dav才能通过 http 主动推送更改。查看官方通过 http 进行 git 服务器指南了解有关如何安装的详细信息以及您可能错过的其他内容。

答案2

编辑 .git/config 文件的以下部分:

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = http://git.repository.url/repo.git

[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = http://username:[email protected]/repo.git

那就尝试一下git push origin master

根据需要编辑配置文件中其他存储库 URL 的身份验证详细信息,并推送到所需的分支。

相关内容