
Version Control with Git, 2nd Edition
Jon Loeliger, Matthew McCullough
- Editorial
- O'Reilly
- Año
- 2012
- Páginas
- ~456
- Nivel
- Intermedio
De qué trata
Tratado exhaustivo y de referencia clásica sobre la arquitectura interna, fundamentos teóricos y operativa de comandos de Git (centrado en la versión Git 1.7 y 1.8). Dirigido a desarrolladores, administradores de sistemas y líderes técnicos con conocimientos de programación y manejo de la terminal que requieren una comprensión rigurosa y matemática del sistema de control de versiones, o que dirigen procesos de migración desde herramientas centralizadas más antiguas como Apache Subversion (SVN) o CVS.
Los autores examinan a fondo el modelo de objetos orientados por contenido (*blobs*, árboles, confirmaciones y etiquetas con sumas criptográficas SHA-1) y la interacción entre los tres árboles clave: el directorio de trabajo, el área de preparación (*index*) y el repositorio. Detalla el flujo de confirmaciones (`git commit`), bifurcaciones y fusiones (`git branch`, `git merge`, `git checkout`), análisis de diferencias (`git diff`), modificación del historial (`git rebase`, `git reset`, `git commit --amend`) y recuperación mediante el registro de referencias y almacén temporal (`git reflog`, `git stash`). Asimismo, analiza tareas avanzadas como el mantenimiento de repositorios (`git gc`, `git fsck`), el intercambio de parches por correo (`git format-patch`, `git am`), la programación de ganchos (*hooks*), la combinación de proyectos con submódulos y subárboles (*submodules*, *subtrees*), la interoperabilidad mediante `git svn`, la búsqueda binaria de anomalías con `git bisect` y la distinción entre comandos de bajo nivel (*plumbing*) y de interfaz de usuario (*porcelain*).
El texto recurre ampliamente a diagramas de grafos dirigidos para ilustrar con precisión matemática las mutaciones que experimenta la base de datos de Git con cada operación en la consola. Carece de ejercicios evaluables y no desarrolla aplicaciones de software, orientándose a capacitar al lector para resolver estados corruptos, depurar historiales y diseñar estrategias sólidas de ramificación. Aunque no incluye las incorporaciones sintácticas de Git 2.x (como `switch` o `restore`), continúa siendo una de las mejores obras de referencia para entender a fondo la ingeniería y filosofía con la que fue concebida la herramienta.
- Git 1.7 / 1.8
- Control de versiones distribuido
- Arquitectura interna de Git (DAG)
- Modelo de objetos y SHA-1
- Staging Area e Índice
- Ramas y fusiones
- Rebase y modificación de historial
- Git Reflog y Stash
- Submódulos y Subárboles
- Interoperabilidad con Subversion (git-svn)
- Depuración con git bisect
- Comandos Plumbing y Porcelain
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

