Devo trasferire un repository completo su una nuova macchina non in rete, preferibile come entità di file singolo. Il bundle git permette una git fetch
, git pull
operazione stile in un ambiente sneakernet, ma sembra scontato che avete già una versione funzionante del pronti contro termine sulla macchina di destinazione.
Qual è l'invocazione giusta per:
- Raggruppa tutti i rami nel repo corrente
- Avvia il nuovo repository nella directory di destinazione, cioè installa correttamente il commit di root
Ho inviato una patch a monte per chiarire:
`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>`.
Quindi la $ git bundle create repo.bundle --branches --tags
migliore corrispondenza con la clonazione.
$ git bundle create repo.bundle --all
fornirà un'immagine speculare della macchina sorgente, inclusi i suoi riferimenti remoti.
--all
opzioni non sono nella mia pagina man perbundle
(sto guardando la versione 1.7.6.msysgit.0), né l'uso del file .bundle nella sezione URL perclone
. Mi dà maggiore fiducia nel consigliarne l'uso.