Решил я написать свою инструкцию по синхронизации данных при помощи git
Почему-то мало кто знает что git позволяет делать файлы с изменениями в репозитории и передавать их отдельным файлом.
Делается это так
Выясняем c какого момента копировать - название резервной копии (это хэш коммита) командой
$ git log --oneline
32a9813a7 (HEAD -> master) резервное копирование: 16-05-2023 17:56:50
e7b39ea90 (16_05_23) резервное копирование: 15-05-2023 21:45:10
2c96acd44 резервное копирование: 15-05-2023 17:52:02
512f61d7b резервное копирование: 12-05-2023 18:02:36
вводим
git bundle create commits_15_05_23_work.bundle master ^2c96acd44
в случае этой команды он скопирует копию выше, начиная с e7b39ea90 в файл с названием commits_15_05_23_work.bundle
Распаковываем так. Заходим в репозиторий куда надо передать данные.
Сначала создаем отдельную ветку в репозитории, например так
git checkout -b 15_05_23
да именно отдельную ветку, сразу в общий репозиторий не получится (без изменения опций)
зайдя в ветку вводим
git pull commits_15_05_23_work.bundle master
commits_15_05_23_work.bundle - это имя файла готовой резервной копии
возвращаемся в главную ветку командой
git checkout master
потом объединяем ветку с основной
git merge 15_05_23
15_05_23 это название ветки которую вы создали
И все.
Кажется, долго, но это не так. Привыкнете быстро.
История сохраняется.
В других вариантах нужны были промежуточные сервера, а тут не нужны никакие сервера. Просто файл с изменениями передается любым путем на другой комп.