У меня два сервера, старый сервер работает просто git
с тремя репозиториями под /opt/
. Эти проекты теперь должны быть перенесены на новый сервер, где я решу запустить gitlab
для графического интерфейса и для того, чтобы иметь возможность приглашать друзей для изучения программирования и иметь более простое место для просмотра и управления проектами.
Однако при переходе я хочу сохранить исправления моих старых кодовых баз. Как-то я думал, что просто делаю scp -r old-server.net:/opt/project.git /gitlab/
было бы достаточно, но это не удается.
Я перешел к gitlab
и создал новое репо только для того, чтобы получить структуру папок, которая создала вики и папку с кодом с именем /gitlab/project.git
с той же структурой папок, что и на старом сервере (очевидно, без кода), и проект отлично загружается в gitlab
, но потом я сделал rm -rf project.git
и сделал scp ...
и теперь я получаю 500 We're sorry, but something went wrong.
.
Я предполагаю, что исправления и, возможно, URL-адрес в папке сервера неверны, но я ничего не могу найти, просматривая файлы вручную или через документацию на gitlab.
Кто-нибудь делал что-то подобное?
Заранее спасибо!
Добавьте новый пульт gitlab в существующий репозиторий и нажмите:
git remote добавить gitlab url-to-gitlab-repo
git push мастер gitlab
Часто самые простые базовые решения работают ... разрешения, всегда проверяйте свои разрешения.
chown -R git.git /gitlab/project.git/
Я предполагаю, что у вас есть несколько репозиториев, которые вы хотите включить в свой экземпляр GitLab.
GitLab предоставляет для этого массовый метод. Я добавил около 250 репо без проблем. Скопируйте файлы git в новое место на сервере GitLab. Я буду использовать каталог с именем «import». Вы можете добавить "XXX" (или даже XXX / YYY), если вам нужно дополнительное местоположение в вашем проекте:
# Use sudo as needed, but it's important to do this
# using the same username than the final GitLab repo.
rsync -av /your/repo/location/* ./import/XXX
# give GitLab full access
chown git:git ./ -R
# Later GitLab will modify the source and turn into a bundle
chmod 02777 -R ./*.git
# now the real work. Note that the source is import and not import/XXX
gitlab-rake gitlab:import:repos['./import/']
Теперь обновите графический интерфейс GitLab, и импортированные проекты станут видимыми. В моем случае у меня есть несколько старых хуков, которые теперь не рекомендуются в GitLab, поэтому я полностью удалил все во вновь созданных файлах git. (иначе вы получите ошибку при нажатии).