Викинг Git-хранилища от GitHub до GitLab
Предположим, что я хотел бы реализовать исправление для проекта кого-то другого. Этот проект находится на GitHub.
Я мог бы создать вилку на GitHub и реализовать исправление.
Однако я хотел бы создать свою вилку на GitLab, а не на GitHub.
Это возможно? Как?
Я прочитал эту статью: https://about.gitlab.com/2016/12/01/how-to-keep-your-fork-up-to-date-with-its-origin/
Во всяком случае, я не уверен, что мне делать в моем случае.
- Должен ли я просто создать вилку на GitLab проекта от GitHub?
- Или мне нужно создать зеркало на GitLab проекта от GitHub?
- Или мне нужно создать зеркало на GitLab, а затем развить зеркало?
- Или я должен делать что-то совершенно другое?
Каков правильный подход.
Благодарю.
ОБНОВИТЬ
Зеркалирование репозитория на GitLab не имеет смысла. Я могу создать зеркало репозитория MY GitHub в GitLab, но я не могу создать зеркало репозитория кого-то другого.
https://docs.gitlab.com/ee/workflow/repository_mirroring.html
Это то, что я сделал до сих пор:
Я клонировал оригинальный проект GitHub на свою локальную машину. Я исправил исправление для новой ветки в моем локальном репозитории. Я создал пустой проект на GitLab. Я установил источник в моем локальном репозитории для этого пустого проекта на GitLab и нажал обе ветки в GitLab. Я установил upstream в моем локальном репозитории в репозиторий GitHub.
Когда я хочу получить новые коммиты из исходного репозитория GitHub в репозиторий GitLab (т.е. синхронизировать репозитории), я могу сделать это, используя свое местное репо в качестве промежуточного шага. Тем не менее, нет прямой связи между репо на GitHub и репо на GitLab. Правильно ли настроена моя установка? Есть ли разница, если я делаю вилку на GitHub?
Ответы
Ответ 1
Если вы просто хотите отслеживать изменения, сначала создайте пустой репозиторий в GitLab (или что-нибудь еще, что вы можете использовать) и клонируйте его на свой компьютер.
Затем добавьте проект GitHub как " восходящий " пульт с:
git remote add upstream https://github.com/user/repo
Теперь вы можете извлечь и вытащить из восходящего потока, если будут какие-либо изменения. (Вы также можете нажать или слить его, если у вас есть права доступа.)
git pull upstream master
Наконец, вернитесь в свой собственный репозиторий GitLab:
git push origin master
Если вы не хотите вручную вытягивать исходное /push-происхождение, GitLab предлагает функцию зеркалирования в настройках => Репозиторий => Зеркалирование репозиториев.
Ответ 2
Возможно создание приватного хранилища github.
- Нажмите новый проект
- Выберите Импорт
- Выберите github
- OAuth2 используется для аутентификации и автоматического создания приложения gitlab
- Выберите проект для вилки
^ Я только что сделал это с частным репо на github, импортированным успешно (inc branch и т.д.). Импортированный проект автоматически сохраняется конфиденциально;)
Ответ 3
Я действительно не понимаю, как GitLab подходит сюда.
Если проект находится в GitHub, они, вероятно, используют запросы на выбор GitHub, поэтому перенос их проекта на GitLab не пригодится.
Просто разворачивайте их хранилище GitHub и делайте запрос на загрузку GitHub, если вы хотите внести свой вклад. Если вы по какой-то причине абсолютно не можете внести свой вклад в GitHub, я полагаю, вы могли бы создать патч и отправить его на адрес сопровождающего.
Ответ 4
Только в браузере:
- Создайте новый проект в Gitlab (просто пустой проект с именем в порядке)
- Зайдите в Настройки → Репозиторий
- Введите URL GitHub в разделе "Зеркальное отображение репозиториев".
- Убедитесь, что "Направление зеркала" это "Потяните"
- Нажмите кнопку "Зеркальный репозиторий"
- Нажмите значок синхронизации рядом с появившейся записью.