Я последовал за этот пример для создания репозитория git на моем сервере. Это сработало, и я успешно push
добавил свой код к нему.
Но как мне вытащить или клонировать?
С помощью документы, Я попытался
git clone http: //REMOTE_SERVER/home/git/example.git
.. Но для меня я получаю:
фатальный: http: //myserverip/home/git/example.git/info/refs not found: вы запускали git update-server-info на сервере?
Я запустил git-update-server info, но ничего не изменилось
Ах, подожди. Я изменил это на git clone ssh://REMOTE_SERVER/home/git/example.git
и я что-то получаю ... ему нужен мой пользователь / пароль, но как мне сделать сервер общедоступным, чтобы не требовать входа в систему?
Если вы хотите обслуживать его через (простой) http, вам необходимо запускать git-update-server-info в репозитории на сервере после каждого обновления.
Вы можете автоматизировать это, заставив обработчик post-update запускать его (обычно нужно просто включить обработчик post-update по умолчанию (сделать скрипт исполняемым)).
С небольшой дополнительной настройкой вашего веб-сервера git-http-backend может дать вам лучшую производительность.
Ах, подожди, я понял, этот объясняет, как это сделать, используя git-daemon:
git-daemon &
touch git-daemon-export-ok
git clone мерзавец: //myserverip/home/git/example.git
Во всех своих разговорах с git я говорю о DAV как о «Лох-несском чудовище» - я слышал, что он существует, но на самом деле не видел его :-)
А с конца прошлого года с git-http-backend вам больше не нужен этот «монстр». Пожалуйста, обновите версию 1.6.6 и получите больше удовольствия от игры. Нет больше DAV ... просто Apache с умным маленьким CGI, говорящим с настоящим мерзавцем ...