-
1. Inicio - Sobre el Control de Versiones
-
2. Fundamentos de Git
-
3. Ramificaciones en Git
-
4. Git en el Servidor
- 4.1 Los Protocolos
- 4.2 Configurando Git en un servidor
- 4.3 Generando tu clave pĆŗblica SSH
- 4.4 Configurando el servidor
- 4.5 El demonio Git
- 4.6 HTTP Inteligente
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Git en un alojamiento externo
- 4.10 Resumen
-
5. Git en entornos distribuidos
-
6. GitHub
-
7. Herramientas de Git
- 7.1 Revisión por selección
- 7.2 Organización interactiva
- 7.3 Guardado rƔpido y Limpieza
- 7.4 Firmando tu trabajo
- 7.5 Buscando
- 7.6 Reescribiendo la Historia
- 7.7 Reiniciar Desmitificado
- 7.8 Fusión Avanzada
- 7.9 Rerere
- 7.10 Haciendo debug con Git
- 7.11 Submódulos
- 7.12 Agrupaciones
- 7.13 Replace
- 7.14 Almacenamiento de credenciales
- 7.15 Resumen
-
8. Personalización de Git
-
9. Git y Otros Sistemas
- 9.1 Git como Cliente
- 9.2 Migración a Git
- 9.3 Resumen
-
10. Los entresijos internos de Git
-
A1. ApƩndice A: Git en otros entornos
- A1.1 Interfaces grƔficas
- A1.2 Git en Visual Studio
- A1.3 Git en Eclipse
- A1.4 Git con Bash
- A1.5 Git en Zsh
- A1.6 Git en Powershell
- A1.7 Resumen
-
A2. ApƩndice B: Integrando Git en tus Aplicaciones
- A2.1 Git mediante LĆnea de Comandos
- A2.2 Libgit2
- A2.3 JGit
-
A3. ApƩndice C: Comandos de Git
- A3.1 Configuración
- A3.2 Obtener y Crear Proyectos
- A3.3 Seguimiento BƔsico
- A3.4 Ramificar y Fusionar
- A3.5 Compartir y Actualizar Proyectos
- A3.6 Inspección y Comparación
- A3.7 Depuración
- A3.8 Parcheo
- A3.9 Correo Electrónico
- A3.10 Sistemas Externos
- A3.11 Administración
- A3.12 Comandos de FontanerĆa
A3.5 ApƩndice C: Comandos de Git - Compartir y Actualizar Proyectos
Compartir y Actualizar Proyectos
No son muy numerosos los comandos de Git que acceden a la red, casi todos los comandos operan sobre la base de datos local. Cuando estas listo para compartir tu trabajo u obtener cambios de otros lugares, hay un puƱado de comandos que tienen que ver con los repositorios remotos.
git fetch
El comando git fetch
comunica con un repositorio remoto y obtiene toda la información que se encuentra en ese repositorio que no estÔ en el tuyo actual y la almacena en tu base de datos local.
En primer lugar, observamos este comando en Traer y Combinar Remotos y seguimos viendo ejemplos de su uso en Ramas Remotas.
TambiƩn lo usamos en varios de los ejemplos en Contribuyendo a un Proyecto.
Lo usamos para buscar una Ćŗnica referencia especĆfica que se encuentra fuera del espacio por defecto en Referencias de Pull Request y vemos cómo buscar en una agrupación en Agrupaciones.
Configuramos refspecs altamente personalizadas con el fin de hacer que git fetch
haga algo un poco diferente de lo predeterminado en Las especificaciones para hacer referencia aā¦ā (refspec).
git pull
El comando git pull
es bÔsicamente una combinación de los comandos git fetch
y git merge
, donde Git descargarÔ desde el repositorio remoto especificado y a continuación, de forma inmediata intentarÔ combinarlo en la rama en la que te encuentres.
Se introduce rƔpidamente en Traer y Combinar Remotos y mostramos la forma de ver lo que se fusionarƔ si se ejecuta en Inspeccionar un Remoto.
También vemos cómo usarlo para ayudar con dificultades de rebase en Reorganizar una Reorganización.
Mostramos cómo usarlo con una URL para obtener los cambios de forma de una sola vez en Recuperando ramas remotas.
Por último, mencionamos muy rÔpidamente que se puede utilizar la opción --verify-signatures
con el fin de verificar quƩ commits que estƔs descargando han sido firmados con GPG en Firmando Commits.
git push
El comando git push
se utiliza para comunicar con otro repositorio, calcular lo que tu base de datos local tiene que la remota no tiene, y luego subir (push) la diferencia al otro repositorio. Se requiere acceso de escritura al otro repositorio y por tanto normalmente se autentica de alguna manera.
En primer lugar, observamos el comando git push
en Enviar a Tus Remotos. AquĆ cubrimos los fundamentos de subir una rama a un repositorio remoto. En Publicar profundizamos un poco mĆ”s en la subida de ramas especĆficas y en Hacer Seguimiento a las Ramas vemos cómo configurar el seguimiento de ramas a las que subir automĆ”ticamente. En Eliminar Ramas Remotas utilizamos el indicador --delete
para eliminar una rama en el servidor con git push
.
A lo largo de Contribuyendo a un Proyecto vemos varios ejemplos de uso de git push
para compartir trabajo en ramas de mĆŗltiples repositorios remotos.
Vemos cómo usarlo para compartir las etiquetas que has creado con la opción --tags
en Compartir Etiquetas.
En Publicando Cambios de Submódulo utilizamos la opción --recurse-submodules
para comprobar que todo nuestro trabajo en submódulos se ha publicado antes de subir el superproyecto, lo cual puede ser muy útil cuando se utilizan submódulos.
En Otros puntos de enganche del lado cliente hablamos brevemente sobre el gancho pre-push
, que es un script que podemos establecer para que se ejecute antes de que una subida se complete para verificar quƩ se debe permitir subir.
Por Ćŗltimo, en Enviando (push) referencias echamos un vistazo a la subida con un refspec completo en lugar de los atajos generales que se utilizan normalmente. Esto puede ayudar a ser muy especĆfico acerca de quĆ© trabajo se desea compartir.
git remote
El comando git remote
es una herramienta de gestión para el registro de repositorios remotos. Esto te permite guardar largas direcciones URL como cortos manejadores (handles), tales como 'origin', para que no tengas que escribir las URL todo el tiempo. Puedes tener varios de estos y el comando git remote
se utiliza para aƱadir, modificar y borrarlos.
Este comando se trata en detalle en Trabajar con Remotos, incluyendo listar, aƱadir, eliminar y cambiar el nombre de ellos.
Se utiliza en casi todos los capĆtulos subsiguientes en el libro tambiĆ©n, pero siempre en la formato estĆ”ndar git remote add <nombre> <url>
.
git archive
El comando git archive
se utiliza para crear un archivo empaquetado de una instantĆ”nea especĆfica del proyecto.
Usamos git archive
para crear un tarball de un proyecto para su compartición en Preparando una versión.
git submodule
El comando git submodule
se utiliza para gestionar repositorios externos dentro de repositorios normales.
Esto podrĆa ser por bibliotecas u otros tipos de recursos compartidos. El comando submodule
tiene varios sub-commandos (add
, update
, sync
, etc) para la gestión de estos recursos.
Este comando es sólo mencionado y cubierto enteramente en Submódulos.