Создание хранилища на сервере:
$ GIT_DIR=proj.git git init $ cd proj.git $ git --bare update-server-info $ cp hooks/post-update.sample hooks/post-update
Для старых версий Git команда копирования не сработает, и вы должны будете запустить:
$ chmod a+x hooks/post-update
Клонирование репозитория через HTTP (на локальной машине):
$ git clone http://igorkov.org/git/proj.git
Заливка через HTTP работать отказывается:
$ git push error: Cannot access URL http://igorkov.org/git/proj.git/, return code 22 fatal: git-http-push failed
Для того, чтобы залить изменения на сервер требуется SSH-доступ:
$ git remote add jino igorkov@igorkov.org:~/domains/igorkov.org/git/proj.git $ git push jino master
Можно изначально клонировать репозиторий через SSH:
git clone igorkov@igorkov.org:~/domains/igorkov.org/git/proj.git
В данном случае раскладывая по папкам файлы .htaccess регулируется доступ к репозиториям:
Allow from all Deny from all
$ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com
Чтобы установить эти параметры только для текущего хранилища, опустите флаг --global.
Описана в файле: setup-git-server-over-http.txt. Будет актуально в случае, если на хостинге доступен модуль mod_dav.