Aprendiendo Git
Aprendiendo Git
¡Domina y comprende Git de una vez por todas!
Sobre este libro
Hoy en día es imposible imaginar el desarrollo de software sin Git. Según la encuesta de Stack Overflow de 2018, casi el 90% de los desarrolladores usaban Git para manejar su código fuente. Si te preguntas por qué no hay encuestas más recientes... ¡Es simplemente porque no preguntaron más! Su dominio empezaba a ser tan evidente que no dejaba margen a la curiosidad.
Siendo tan importante entender Git, su manejo y dominio, he decidido escribir este libro. Un libro que yo mismo hubiera estado encantado de leer cuándo empecé. Un libro del que estoy seguro que podrás extraer algún aprendizaje y que te podrá servir de guía en el futuro.
En el libro te explico los orígenes de Git y por qué ahora lo usa todo el mundo. ¿De dónde nació? ¿Quién lo creó? Además, te explico todos sus fundamentos para que entiendas qué es lo que esconden todos los comando que utilizas en tu día a día.
Después de ayudarte a instalar y configurar Git, te explicaré cómo puedes trabajar en Git de forma local y remota y qué diferencias existe entre esos dos modos. Luego haremos repaso de algunas buenas prácticas, cómo usar los alias, los hooks, trucos imprescindibles y muchas cosas más.
¿Te interesa dominar Git? ¿Quieres una guía que te va a acompañar siempre? ¡Este es tu libro!
Testimonios de lectores
Ivan L'olivier
Senior FullStack Software Engineer
Uso git desde el 2015 e igual aprendí varias cosas. Recomiendo totalmente el libro para aprender desde cero o para programadores experimentados. Además es fácil de leer (no da muchas vueltas para decir algo). Y git no es algo que cambie mucho, así que el libro va a ser relevante por un buen tiempo. Buen libro para tener en tu biblioteca geek :)
David Huertas
Junior FrontEnd Developer
Aprendiendo Git ha sido una forma clara y concisa de entender y ampliar conceptos de Git que ahora uso diariamente en el trabajo, me ha ayudado ha empezar en el sector y creo que puede ser útil para todo el mundo.
Facundo Capua
Lead Magento & DevOps Engineer at The Etailers
Utilizo git a diario desde hace más de 10 años y sin dudarlo puedo decir que la forma en la que Midu ha encarado este libro ataca los puntos más importantes para gente de cualquier nivel. Creo que cualquier persona (sin importar su seniority) puede sacar provecho de este pedazo de libro.
Mateo Álvarez
Frontend Developer
Es un libro del que te sentís orgulloso de leer, tiene lo mejor de la documentación (amplitud y detalle), pero también tiene lo mejor de un tutorial (entretenido y muy llevadero). Lo mejor que tiene es que en cada sección que lees, aprendes muchísimo y terminas entendiendo en profundidad los comandos que usas en tu día a día. Es muy útil para personas que recién están aprendiendo, como para los que controlan del tema! Además de todos los trucos y ejemplos que tiene, lo recomiendo mucho!
Néstor López
Frontend Engineer
Quizá uno de los mejores libros relacionados con Git que he leído. Fácil de leer, fácil de entender y lleno de detalles que harán que comprendas realmente el manejo y la productividad que te proporciona Git.
Tabla de contenidos
-
Introducción
- Prólogo
- Sobre mí
- Requisitos previos
- Únete a la comunidad de Discord
- Reportando erratas y sugerencias
- Agradecimientos
- Cambios entre versiones del libro
-
Un poco de teoría
- ¿Qué es un control de versiones y por qué es importante?
- ¿Qué es Git?
- Los fundamentos de Git
- Los tres estados en Git
- ¿Qué es una rama?
-
¿Qué representa la rama
master
o la ramamain
? - ¿Git y GitHub son lo mismo? ¿Qué relación tienen?
-
Instalando y Configurando Git
- ¿Cómo saber si tengo Git instalado en mi sistema?
- ¿Cómo instalar Git?
- ¿Cómo configuro el nombre y correo usado en Git?
- ¿Cómo configurar el editor por defecto que abre Git?
- ¿Cómo puedo comprobar mi configuración de Git?
- Git y la línea de comandos
-
Trabajando con Git de forma local
- ¿Cómo inicializar un nuevo proyecto Git?
- ¿Qué es el directorio de trabajo?
- ¿Cómo deshacer un archivo modificado?
- ¿Cómo añadimos archivos al área de staging?
- ¿Cómo puedo sacar un archivo o varios del área de staging?
- ¿Qué es un commit?
- ¿Cómo puedo hacer un commit?
- Haz commit y sáltate el área de staging
-
¿Qué es el
HEAD
? - ¿Cómo puedo deshacer mis cambios?
- ¿Cómo puedo ignorar archivos?
- ¿Cómo consigo ignorar siempre los mismos archivos en todos mis repositorios?
- ¿Cómo le indico a Git que deje de hacer el seguimiento de un archivo (o varios archivos)?
-
Ramas en Git
- Empezamos con las ramas
- Trabajando con ramas
- Fusionando ramas
- Resolviendo conflictos
- Hora de podar: Eliminando ramas
-
Rebase
- ¿Qué es el rebase?
-
No uses
git rebase
para esto - Los peligros del rebase
- Merge vs Rebase
-
Trabajando con Git de forma remota
- Creando un repositorio remoto en GitHub
- Clonando un repositorio remoto ya creado previamente
- ¿Cómo enlazar un repositorio local con un repositorio remoto?
- Traer los cambios del repositorio remoto a mi repositorio local
- Escribiendo en el repositorio remoto
- Trabajando con ramas en remoto
-
Configurando la conexión SSH con GitHub
- Cómo generar una llave SSH
- Usar una llave SSH
- Añadir clave SSH a tu cuenta de GitHub
- Probando, probando…
-
Cómo contribuir a un proyecto de código abierto
- ¿Por qué debería contribuir al código abierto?
- ¿Cómo empiezo a contribuir a un proyecto de código abierto?
- ¿Cómo hago una Pull Request al proyecto original?
- ¿Cómo puedo sincronizar mi fork con el repositorio original?
- ¿Con qué puedo contribuir a un proyecto?
-
Flujos de trabajo y estrategias de ramas en Git
- Git Flow
- GitHub Flow
- Trunk Based Development
- Ship / Show / Ask
- Conclusiones sobre las estrategias de flujos de trabajo en Git
-
Buenas prácticas al trabajar con Git
- ¿Cada cuánto debería hacer un commit?
- ¿Cómo puedo escribir un buen mensaje de commit?
- ¿Cómo puedo escribir un buen nombre de rama?
- ¿Debería alterar el historial de mi proyecto?
- No hagas commit de código generado ni configuración particular
- ¿Qué debo tener en cuenta para hacer una buena Pull Request?
-
Cambia tu rama
master
amain
o similares - Firma correctamente tus commit con GPG
- ¿Cómo debería revisar una Pull Request?
-
Hooks de Git
- ¿Qué es un hook?
- ¿Qué hooks hay disponibles?
- ¿Cómo puedo crear mi propio hook?
-
Alias en Git
- ¿Cómo crear tu propio alias en Git?
- ¿Puedo crear alias para comandos que ya existen?
- ¿Puedo crear un alias para un comando externo?
- ¿Cómo puedo listar todos los alias que he creado?
- ¿Cuáles son los mejores alias?
-
Stash, el almacén temporal de cambios
- Guarda tus cambios en un stash
- Aplicando los cambios del stash
- Crea una rama a partir de un stash
- Eliminando el almacén temporal
-
Trucos con Git
- ¿Cómo puedo aplicar los cambios de un commit a otro?
- Cómo detectar qué commit es el que ha introducido un bug
- ¿Quién ha tocado este fichero? ¿Quién ha hecho cambios?
- ¿Cómo puedo saber quién añadió una línea por primera vez?
- Recupera un archivo en concreto de otra rama o commit
- Encuentra el primer commit de un repositorio
- Descubre el máximo contribuidor de un repositorio
- Recupera todos los commits para un usuario en específico
- Clonar un repositorio sin descargar todo el histórico
- Vuelve a la rama previa en la que estaba trabajando
- Descargar los ficheros de un repositorio remoto sin tener que clonarlo
- Aprovecha el auto-corrector de Git para que ejecute comandos parecidos
-
Domina el formato corto de
git status
-
--porcelain
, la opción para que nuestros scripts usen comandos de Git - Configuraciones a tener en cuenta
-
Errores comunes en Git y sus soluciones
- Me dice que no es un repositorio de git
-
Hago
pull
y me dice que no es un repositorio - He escrito mal el último commit
- He escrito mal la rama que he creado
-
He hecho un
git push
y me da error - He hecho commits a la rama principal que debían realizarse en otra rama
- xcrun: error: invalid active developer path
-
GitHub CLI
-
Instalando
gh
en el sistema… -
Realizando la configuración inicial de
gh
-
Usando
gh
-
Instalando
- Conclusiones del libro
Otros libros de este autor
Leanpub incondicional, sin riesgo, 100% de felicidad garantizada
Durante los primeros 60 días de compra, puedes obtener un reembolso del 100% de cualquier compra Leanpub, en dos clics. Procesamos las restituciones manualmente, así que puede tomarse unos días en aparecer. Véase términos completos.
Gana $8 en una compra de $10 y $16 en una compra de $20
Pagamos 80% de regalías en compras de $7.99 o más y 80% de regalías menos una tarifa fija de 50 centavos en compras entre $0.99 y $7.98. Ganas $8 en una venta de $10 y $16 en una venta de $20. Entonces, si vendemos 5000 copias no reembolsadas de tu libro por $20, ganarás $80,000.
(Sí, algunos autores ya han ganado mucho más que eso en Leanpub.)
De hecho, los autores han ganadomás de 13 millones de dólares escribiendo, publicando y vendiendo en Leanpub.
Obtén más información sobre escribir en Leanpub
Actualizaciones gratis. Libre de DRM.
¡Si compras un libro Leanpub obtienes actualizaciones gratis siempre y cuando el autor actualice el libro! Varios autores usan Leanpub para publicar sus libros en progreso mientras los escriben. Todos los lectores obtienen actualizaciones gratis, independientemente de cuándo compraron el libro o cuánto pagaron (incluyendo si fue gratis).
La mayoría de los libros Leanpub se encuentran disponibles en PDF (para computadores) y EPUB (para teléfonos, tabletas, y Kindle). Los formatos que un libro incluye se muestran en la esquina superior derecha de esta página.
Finalmente, los libros Leanpub no tienen ninguna de las cosas sin sentido sobre protección de copia DRM, así que puedes leerlos fácilmente en cualquier dispositivo que se soporta.
Aprende más sobre los formatos de Leanpub y dónde puedes leerlos