Перенос изменений, внесенных в несколько веток, с помощью 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.

Другие вопросы по тегам