git - tag - Cómo hacer un paquete completo
git tags best practices (3)
¿Cuál es la invocación correcta para:
- Agrupe todas las ramas en el repositorio actual
Sencillo:
$ git bundle create repo.bundle --all
Aquí repo.bundle
es el nombre del archivo de paquete que desea crear. Tenga en cuenta que --all
no incluiría ramas de rastreo remoto ... al igual que el clon ordinario tampoco lo haría.
- Inicie el repositorio nuevo en el directorio de destino, es decir, obtenga la confirmación raíz instalada correctamente
Primero, el clone
es solo init
+ fetch
(+ administrativia).
En segundo lugar, puede usar el paquete de archivos en cualquier lugar donde se pueda usar la URL del repositorio, de modo que simplemente puede clone
desde un archivo de paquete:
$ git clone repo.bundle
Esto crearía repo
como un repositorio git.
Necesito transferir un repositorio completo a una nueva máquina no conectada a la red, preferiblemente como una entidad de un solo archivo. El paquete de git permite una operación de obtención de git pull
, git pull
en un entorno de sneakernet pero parece suponer que ya tienes una versión de trabajo del repositorio en la máquina de destino.
¿Cuál es la invocación correcta para:
- Agrupe todas las ramas en el repositorio actual
- Inicie el repositorio nuevo en el directorio de destino, es decir, obtenga la confirmación raíz instalada correctamente
Le sugiero que cargue o comprima la carpeta .git y simplemente descomprímala en la nueva ubicación y luego git reset --hard HEAD
. Todo lo que se necesita para todas las ramas está en .git y todo lo que debe hacer es ajustar los controles remotos en el archivo .git / config o eliminarlos.
tar cf myrepo.tgz .git
cp myrepo.tgz [USB_STICK]
... move to new machine ...
mkdir myrepo && cd myrepo
tar xpf [USB_STICK]/myrepo.tgz
git reset --hard HEAD
Primero clone el repositorio e incluya la opción --mirror
.
git clone --mirror [email protected]:path/repo.git
Esto garantiza que todas las sucursales remotas también sean sucursales locales listas para el bundeling.
Entonces corre
git bundle create repo.bundle --all
como se describe en la respuesta de Jakub Narębski