Поиск…


замечания

Ключом к этой работе является начало клонирования пакета, который начинается с начала истории репо:

 git bundle create initial.bundle master
 git tag -f some_previous_tag master  # so the whole repo does not have to go each time

получение этого исходного пакета на удаленную машину; а также

 git clone -b master initial.bundle remote_repo_name

Создание пакета git на локальной машине и использование его на другом

Иногда вам может потребоваться поддерживать версии git-репозитория на компьютерах, которые не имеют сетевого подключения. Связки позволяют вам упаковывать объекты и ссылки git в репозиторий на одном компьютере и импортировать их в репозиторий на другом.

git tag 2016_07_24
git bundle create changes_between_tags.bundle [some_previous_tag]..2016_07_24

Как-то передайте файл changes_between_tags.bundle на удаленный компьютер; например, с помощью флэш-накопителя. Когда у вас есть это:

git bundle verify changes_between_tags.bundle  # make sure bundle arrived intact
git checkout [some branch]       # in the repo on the remote machine
git bundle list-heads changes_between_tags.bundle # list the references in the bundle
git pull changes_between_tags.bundle [reference from the bundle, e.g. last field from the previous output]

Также возможно обратное. После того, как вы внесли изменения в удаленный репозиторий, вы можете объединить дельта; поместите изменения на, например, флэш-накопитель, и объедините их обратно в локальный репозиторий, чтобы они могли оставаться в синхронизации, не требуя прямого доступа к протоколам git , ssh , rsync или http между машинами.



Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow