Зеркальные коммиты сквоша Git

Я хочу работать над своим репозиторием в частном порядке с помощью GitLab, но оставить общедоступную копию основной ветки на GitHub для обеспечения видимости и доступности. Можно ли «автоматизировать» зеркалирование главной ветки как удаленных GitHub, так и GitLab, но сохранить историю коммитов в GitLab, в то время как сжимая коммиты до одной фиксации с GitHub (без необходимости помнить, чтобы вручную сделать это каждый раз)?

Это может показаться надуманным запросом, но git продолжает удивлять меня своей мощью и гибкостью!


person Jefferson    schedule 19.11.2017    source источник


Ответы (1)


Если вы не говорите об экземпляре GitLab, которым вы управляете, вам все равно понадобится webhook, который вы запускаете на своем собственном сервере и который вызывается GitLab.com при каждом нажатии.

См., например, lowzj/gitlab-mirror-webhook (необходимо адаптировать для выполнения что вы хотите: git merge --squash в выделенную ветку и git push в GitHub)

Для простого зеркала (то есть без шага сквоша) GitLab предлагает настройку функции зеркала. Это проще, чем настроить вебхук... но менее гибко.

person VonC    schedule 19.11.2017