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.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow