Зеркалирование из Гитлаба в Гитуб

Я использую закрытый экземпляр Gitlab для хранения всего моего кода. Но так как большинство сотрудников, которые работают со мной, теперь имеют учетную запись Github, мне бы очень хотелось, чтобы я двигался и отражал репозиторий Gitlab в Github.

Моя ситуация:

  • сервер, на котором запущен Gitlab (Omnibus)
  • учетная запись Github, для которой я создам организацию, где я и мой персонал могут быть организованы вместе.

Я знаю, что есть переключатель --mirror в git, но я не уверен, как это работает. Документация, которую я нашел в Интернете, была очень увлекательной... Так что было бы неплохо, если бы кто-то помог мне.:)

Ответ 1

Этот предыдущий вопрос Qaru посвящен тому, как переместить ваш репозиторий из другого сервиса в GitHub, первый ответ - как это сделать из командной строки, а второй и третий - более удобные для пользователя способы, которые, к сожалению, не будут работать для вы , если ваш экземпляр GitLab находится на вашем локальном сервере (что, похоже, ваш случай).

Однако вы можете "импортировать" свой репозиторий из командной строки в GitHub, как объясняется GitHub docs, это рекомендуемый способ, поскольку GitHub предлагает это в качестве альтернативы использованию своего инструмента GitHub Importer (что выделено в предыдущем вопросе SO)

Список шагов, взятых из документации:

  1. Создайте новый репозиторий, который вы хотите отправить в GitHub.
  2. Создайте локальный клон с вашего сервера GitLab:

    git clone --bare https://githost.org/extuser/repo.git

Чистый клон является точной копией, без рабочего каталога для редактирования файлов, поэтому это чистый экспорт.

  1. Перейдите в этот каталог и затем нажмите его с флагом --mirror. Флаг зеркала гарантирует, что ссылки (ветки/теги) будут скопированы в GitHub.

    cd *repo.git*

    git push --mirror https://github.com/ghuser/repo.git

  2. Наконец удалите созданный вами локальный репозиторий.

    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).