Назад | Перейти на главную страницу

Невозможно получить доступ к 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 = support@mywebsite.com

Итак, с моего локального хоста я успешно запустил 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?

Вам нужно будет включить dav активно проталкивать изменения через http. Ознакомьтесь с официальным git server over http руководство для получения подробной информации о том, как его установить, и других вещей, которые вы могли пропустить.

Отредактируйте следующий раздел вашего .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:password@git.repository.url/repo.git

Тогда попробуй git push origin master.

При необходимости отредактируйте детали аутентификации в ваших файлах конфигурации для других URL-адресов репозитория и нажмите на нужную ветку.