S
SWE notes
@swenotes482 подп.
678просмотров
30 января 2026 г.
Score: 746
Бывает кейс когда необходимо организовать работу 2-х репозиториев через обмен git bundle и чтобы это сделать нужна корневая точка с которой будет делаться первый бандл. При этом вам бы не хотелось передавать всю историю разработки в вашем репозитории, а исходную точку сделать надо, да еще чтобы история все-таки осталась в репозитории хоть в каком-то виде (например для трассировки требований в gittlab и связи коммитов и тикетов) В таком случае можно использовать следующий вариант c подменой ветки main и историей во второй ветке. Создаем ветку с которой начнется новая история: git checkout <tag|commit> git checkout --orphan crop-main git add . git commit -a "Init commit" Далее текущая main ветка переименовывается в main-history: git branch -m main main-history Обрезанную ветку делаем основной: git checkout crop-main git branch -m main Переноси нужные коммиты в новый main: git cherry-pick <tag|commit>..main-history После этого пушим 2 ветки в origin и получается урезанная копия основной ветки, но при этом во второй есть вся история изменений. Так что может кому пригодится такой лайвхак
678
просмотров
1112
символов
Нет
эмодзи
Нет
медиа

Другие посты @swenotes

Все посты канала →
Бывает кейс когда необходимо организовать работу 2-х репозит — @swenotes | PostSniper