J'ai besoin de transférer un repo complet vers une nouvelle machine non connectée au réseau, de préférence sous la forme d'un seul fichier. Le bundle git permet un git fetch
, git pull
dans un environnement sneakernet mais semble supposer que vous avez déjà une version de travail du dépôt sur la machine de destination.
Quelle est la bonne invocation pour :
- Offre groupée tous les branches dans le repo actuel
- Démarrer le nouveau repo dans le répertoire de destination, c'est-à-dire installer correctement le commit Root.
J'ai envoyé un patch en amont pour clarifier :
`git clone` can use any bundle created without negative refspecs
(e.g., `new`, but not `old..new`).
If you want to match `git clone --mirror`, which would clone other
refs such as `refs/remotes/*`, use `--all`.
If you want to provide the same set of refs that a clone directly
from the source repository would get, use `--branches --tags` for
the `<git-rev-list-args>`.
Alors $ git bundle create repo.bundle --branches --tags
correspond le mieux au clonage.
$ git bundle create repo.bundle --all
fournira une image miroir de votre machine source, y compris ses références distantes.