Me gustaría saber cómo podría clonar solo una rama en lugar de clonar todo el repositorio de Git.Clonar solo una rama
Respuesta
Desde el anuncio Git 1.7.10 (abril de 2012):
git clone
aprendidas--single-branch
opción para limitar la clonación de una sola rama; (¡sorpresa!) las etiquetas que no apuntan al historial de la rama no se captan.
Git realidad te permite clonar una sola rama, por ejemplo:
git clone -b mybranch --single-branch git://sub.domain.com/repo.git
Nota: También you can add another single branch or "undo" esta acción.
¡Gracias! Si --single-branch le da un error, simplemente elimínelo y guarde el -b :) – Braunson
@Brauson si solo pone -b luego clona todas las ramas, y después de que compruebe esa rama. Este no es el resultado esperado. Así que te recomiendo, si es posible actualizar git a lastest (o> = 1.7.10) y el comando no daría un error. – shakaran
¿Alguien sabe cómo clonar dos ramas, o agregar otra rama individual al repositorio clonado de una sola rama? –
se podría crear una nueva operación con
git init
y luego usar
git fetch url-to-repo branchname:refs/remotes/origin/branchname
a buscar simplemente que una rama en una sucursal de seguimiento remoto local.
¿Reemplazó "branchname" con el nombre de la rama que desea? –
Ahora tiene una rama de seguimiento remoto que contiene los contenidos de la sucursal del repositorio remoto. Puede hacer lo que quiera con él, incluso crear una sucursal local a partir de él, o restablecer su bifurcación actual a él, o cualquier otra cosa. –
Te aconsejo que intentes clonar todo el repositorio y ver cuánto aumenta tu .git subdir. Mi suposición sería que es un aumento insignificante, incluso en proyectos muy grandes. –
“--single-rama” interruptor es su respuesta, pero sólo funciona si tiene Git versión 1.8.x en adelante, primer cheque
#git --version
Si ya tiene la versión 1.8 git .X instalar sólo tiene que utilizar "rama -by rama --single" clonar una sola rama
#git clone -b branch --single-branch git://github/repository.git
por defecto en Ubuntu 12.04/12.10/13.10 y Debian 7 la instalación git por defecto es para versiones ion 1.7.x solamente, donde --single-branch es un modificador desconocido. En ese caso, primero debe instalar git más nuevo desde un ppa no predeterminado como se muestra a continuación.
sudo add-apt-repository ppa:pdoes/ppa
sudo apt-get update
sudo apt-get install git
git --version
Una vez 1.8.x está instalado ahora simplemente hacer:
git clone -b branch --single-branch git://github/repository.git
Git ahora sólo descargar una sola rama del servidor.
+1 para obtener instrucciones rápidas sobre cómo actualizar git en versiones anteriores de las distribuciones de Debian. –
Pequeña adición: para obtener el comando add-apt-repository, instale el paquete software-properties-common, también tuve que instalar python-software-properties. (Sé que esta es una respuesta antigua, pero sigue siendo relevante, ¡al menos fue para mí!). – Graftak
que he hecho con más adelante solo comando git:
git clone [url] -b [branch-name] --single-branch
yo también, siempre usaré este comando para clonar una sola rama – yussan
- 1. git clonar en una rama
- 2. Hacer una rama TFS de solo lectura
- 3. ¿Cómo presionar solo una rama en Hg?
- 4. rama principal es visible después de clonar un repositorio git
- 5. ¿Cómo clonar solo una carpeta de un submódulo git?
- 6. mercurial estableció una rama como la nueva rama predeterminada
- 7. C# clonar una pila
- 8. rama SVN de una rama
- 9. ¿Puedo hacer cumplir una rama de solo fusión en git?
- 10. ¿Cómo puedo clonar una vista?
- 11. Al clonar un repositorio svn en git, ¿debería clonar solo trunk o todo el repositorio?
- 12. Ejecutar `git log` en una rama remota
- 13. Mostrar solo la rama actual en Git
- 14. Git-ing una rama de GitHub
- 15. Cómo clonar una Imagen Buffered
- 16. ¿Es posible clonar solo ciertos commit de un git repo con profundidad 1?
- 17. crear una rama vacía
- 18. ¿Cómo fusionar una rama a otra rama en GIT?
- 19. Eliminar rama experimental
- 20. ¿Cómo anotar una rama?
- 21. ¿Mostrar cabezas de una rama?
- 22. cómo usar "repo" para clonar una fuente mínima de Android?
- 23. ¿Es posible que Git recupere una lista de etiquetas que solo existen en una determinada rama?
- 24. Git excluye una confirmación en una rama
- 25. Clonar el control Winform
- 26. Fusionar solo un conjunto de cambios desde otra rama
- 27. AS3 - Clonar un objeto
- 28. ¿Es posible clonar una transmisión .NET?
- 29. ¿Cómo puedo clonar una solución .NET?
- 30. ¿Cómo se puede extraer solo la rama actual?
Lo que un par de otros señalaron es muy cierto: a menos que haya grandes archivos comprometidos con algunas ramas y no no a los demás, esto es en realidad va a hacer mucho de cualquier diferencia. – Cascabel
@Jefromi: Realmente hace la diferencia cuando lo clonas .. Ver este enlace: http://stackoverflow.com/questions/14682245/why-is-the-size-of-the-forked-repository-so-huge- on-github –
@AmolMKulkarni Como dije hace dos años, solo si algunas sucursales contienen muchos datos que otros no tienen. La pregunta a la que se vinculó en realidad no dice que solo una rama es más pequeña: si todo ese enorme tamaño se encuentra en la historia común de todas las ramas, la clonación de una rama será igual de grande. – Cascabel