Я установил удаленный репозиторий 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-адресов репозитория и нажмите на нужную ветку.