Перенос изменений, внесенных в несколько веток, с помощью git-bundle
Я искал git-bundles как вариант для синхронизации моих двух репозиториев (над которыми постоянно работали).
Так как оба являются двумя различными географическими местоположениями, и настройка VPN также не вариант, я планирую использовать пакеты..(Любая другая лучшая альтернатива или метод?)
Я наткнулся на ответ Джефроми здесь. Это очень хорошо объясняет.
Однако, если у меня работает несколько веток, и я хочу обновить их все, как мне это сделать?
(Ответ использует основание для master, но использует --branches, которые снова скопируют всю историю всех других веток в связке. Я хочу только обновленные / добавленные коммиты всех веток)
1 ответ
Вы можете создать новую резервную копию, исключая то, что было в предыдущей резервной копии:
git fetch ../backup.bundle
git bundle create ../newbackup.bundle ^backup/A ^backup/B A B C
Здесь вы создаете добавочную резервную копию с добавочной историей для филиалов A
а также B
плюс новая ветка C
,
Этот подход подробно описан в разделе " Инкрементные резервные копии с помощью git bundle для всех веток".
Я предпочитаю более простой подход с использованием даты последнего резервного копирования:
cd myRepo
git bundle create mybundle-inc --since=10.days --all
Можно сделать резервную копию "немного больше": дублированные коммиты не будут импортированы дважды, когда вы будете использовать эту инкрементную резервную копию.
Я сделал сценарий на основе --since
: save_bundles.