Zoeken…
Opmerkingen
De sleutel tot het maken van dit werk is om te beginnen met het klonen van een bundel die begint vanaf het begin van de repogeschiedenis:
git bundle create initial.bundle master
git tag -f some_previous_tag master # so the whole repo does not have to go each time
die eerste bundel naar de externe machine krijgen; en
git clone -b master initial.bundle remote_repo_name
Een git-bundel maken op de lokale machine en deze op een andere gebruiken
Soms wil je misschien versies van een git-repository behouden op machines die geen netwerkverbinding hebben. Met bundels kun je git-objecten en referenties in een repository op de ene machine verpakken en die in een repository op een andere importeren.
git tag 2016_07_24
git bundle create changes_between_tags.bundle [some_previous_tag]..2016_07_24
Breng op de een of andere manier het bestand changes_between_tags.bundle over naar de externe machine; bijv. via thumb drive. Zodra je het daar hebt:
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]
Het omgekeerde is ook mogelijk. Nadat u wijzigingen heeft aangebracht in de externe repository, kunt u de delta's bundelen; zet de wijzigingen op, bijvoorbeeld, een thumb drive, en voeg ze terug in de lokale repository zodat de twee gesynchroniseerd kunnen blijven zonder directe git
, ssh
, rsync
of http
protocoltoegang tussen de machines te vereisen.