Зеркалирование из Гитлаба в Гитуб
Я использую закрытый экземпляр Gitlab для хранения всего моего кода. Но так как большинство сотрудников, которые работают со мной, теперь имеют учетную запись Github, мне бы очень хотелось, чтобы я двигался и отражал репозиторий Gitlab в Github.
Моя ситуация:
- сервер, на котором запущен Gitlab (Omnibus)
- учетная запись Github, для которой я создам организацию, где я и мой персонал могут быть организованы вместе.
Я знаю, что есть переключатель --mirror
в git, но я не уверен, как это работает. Документация, которую я нашел в Интернете, была очень увлекательной... Так что было бы неплохо, если бы кто-то помог мне.:)
Ответы
Ответ 1
Этот предыдущий вопрос Qaru посвящен тому, как переместить ваш репозиторий из другого сервиса в GitHub, первый ответ - как это сделать из командной строки, а второй и третий - более удобные для пользователя способы, которые, к сожалению, не будут работать для вы , если ваш экземпляр GitLab находится на вашем локальном сервере (что, похоже, ваш случай).
Однако вы можете "импортировать" свой репозиторий из командной строки в GitHub, как объясняется GitHub docs, это рекомендуемый способ, поскольку GitHub предлагает это в качестве альтернативы использованию своего инструмента GitHub Importer (что выделено в предыдущем вопросе SO)
Список шагов, взятых из документации:
- Создайте новый репозиторий, который вы хотите отправить в GitHub.
Создайте локальный клон с вашего сервера GitLab:
git clone --bare https://githost.org/extuser/repo.git
Чистый клон является точной копией, без рабочего каталога для редактирования файлов, поэтому это чистый экспорт.
Перейдите в этот каталог и затем нажмите его с флагом --mirror
. Флаг зеркала гарантирует, что ссылки (ветки/теги) будут скопированы в GitHub.
cd *repo.git*
git push --mirror https://github.com/ghuser/repo.git
Наконец удалите созданный вами локальный репозиторий.
cd ..
rm -rf repo.git
Ответ 2
GitLab теперь имеет возможность сделать это из пользовательского интерфейса, перейдите в репозиторий Settings-> вашего репо:
https://gitlab.com/yourUserNameInGitLab/yourRepoName/settings/repository
Затем найдите параметр "Зеркальное отображение хранилища" и нажмите "развернуть". Что вы хотите сделать, это выбрать направление "Push" зеркало и заполните этот URL:
https://[email protected]/yourUserNameInGitHub/yourRepoName.git
Ответ 3
Другой вариант - добавить дополнительный URL к origin
:
git remote set-url --add origin [email protected]:<USERNAME>/<PROJECTNAME>.git
Когда вы нажимаете на источник, он будет выдвигать как исходный источник (gitlab), так и добавленный выше (github).