После успешной установки и запуска gitlab я попытался импортировать существующий проект. Для этого я создал пустой проект, а затем получил список инструкций на странице проектов, как вставить мои существующие данные репо в проект gitlab:
cd existing_git_repo
git remote add origin gitlab@gitlab.mydomain:root/testproject.git
git push -u origin master
Но при этом я получаю следующее сообщение:
fatal: 'root/testproject.git' does not appear to be a git repository
fatal: Could not read from remote repository.
При просмотре папки моих репозиториев репозиторий был создан там с помощью gitlab, и при использовании http-URL вместо git-URL все работает, как ожидалось.
Как git push должен знать, как разрешить "gitlab@gitlab.mydomain: root / testproject.git" к "gitlab@gitlab.mydomain: /home/gitlab/repositories/root/testproject.git"? Предполагается ли, что gitlab создаст сервер git? Если да, то с чего мне начать копать, чтобы выяснить, почему не найдено ни одного репозитория, в котором gitlab сказал мне указать мой пульт?
-
Редактировать: при поиске "root / testproject.git" я получаю следующие результаты:
[gitlab@gitlab gitlab]# grep -r "root/testproject.git" *
gitlab/log/sidekiq.log:Initialized empty Git repository in /home/gitlab/repositories/root/testproject.git/
gitlab-shell/gitlab-shell.log:I, [2014-01-23T16:38:16.974051 #5390] INFO -- : Adding project root/cashio.git at </home/gitlab/repositories/root/testproject.git>.
Edit2: Если это поможет: используйте git удаленный URL-адрес набора gitlab gitlab@gitlab.mydomain: /home/gitlab/repositories/root/testproject.git вместо этого работает как ожидалось.
Хорошо, причина была довольно простой, но не очевидной для меня. Здесь все описано: https://github.com/gitlabhq/gitlabhq/issues/3686
Это сводится к следующему: нужно использовать ключи с gitlab-shell и заставить gitlab управлять этими ключами, о которых я не знал. При использовании аутентификации по ключу и хранении ключей с помощью gitlab-webinterface, push, pull и cloning теперь работают должным образом.