Поиск…
замечания
Ключом к этой работе является начало клонирования пакета, который начинается с начала истории репо:
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
между машинами.