Guía Git en español


Git no puede faltar en la lista imprescindible de herramientas útiles para todos los desarrolladores web.
Git es, de hecho, una herramienta indispensable para todo desarrollador porque hace que el flujo de trabajo sea más organizado y facilita la cooperación de los desarrolladores web en la realización de proyectos. Pero, ¿cómo funciona Git?
¡Averigüémoslo juntos!

Guía Git en español

1
Introducción a Git para developers

¿Qué es Git?

1¿Qué es Git?

Git es un sistema de control de versiones gratuito y open-source (version control system o VCS, a veces también denominado source control management system o SCM), creado por Linus Torvalds (el "padre" de Linux) en 2005. Como cualquier control de versiones system, Git te permite gestionar el historial de todos los cambios realizados en tu códig...

Sigue leyendo
Nacimiento de Git

2Nacimiento de Git

Pero, ¿cómo nació Git? El "nacimiento" de Git está relacionado, como sucede a veces en el mundo del open-source, a la necesidad de tener una alternativa libre a una herramienta propietaria. En 2005, el desarrollo del kernel de Linux había alcanzado, en términos de líneas de código, un tamaño considerable y los di...

Sigue leyendo
Principales características de Git

3Principales características de Git

La historia del nacimiento de Git nos permite entender cuáles son las principales características de esta herramienta. Como sistema de control de versiones, el propósito de Git es permitir la gestión de los cambios realizados en una colección de información, ya sea el código fuente de una aplicación, la p&aacu...

Sigue leyendo
Línea de comando UI en Git

4Línea de comando UI en Git

Git nació como una herramienta para ser utilizada desde la línea de comandos (o terminal), por lo tanto, junto con otras herramientas necesarias en el día a día de un desarrollador web, como editores, IDE, compiladores... etc. Desde la línea de comando, el ejecutable de Git permite ejecutar uno de los varios comandos disponibles, pasando la...

Sigue leyendo

3
Terminología y conceptos de Git

Repository en Git

8Repository en Git

Antes de entrar en más detalles, es recomendable aclarar algunos conceptos básicos de Git y cómo afectan el flujo de trabajo real. Repository en Git Un repository Git rastrea y guarda el historial de cambios realizados en los archivos en el directory donde se inicializó el repository. En la práctica, el repository Git del proyect...

Sigue leyendo
Commit en Git

9Commit en Git

Un commit in Git representa un snapshot (instantánea) del repository en un momento específico. Aunque esta definición puede parecer banal, vale la pena subrayar que: a diferencia de otras version control system, el commit en Git no solo almacena las diferencias entre dos versiones sucesivas del contenido del directory, sino que guarda la instant&aacut...

Sigue leyendo
Working Copy en Git

10Working Copy en Git

El concepto de Working Copy en Git (llamado también working directory o working tree) está relacionado con el hecho de que un repository Git gestiona la secuencia de snapshot (commits) de determinados archivos contenidos en un directory. Para entender que es y como funciona la working copy es mejor si lo vemos con un ejemplo: Cuando se cl...

Sigue leyendo
Staging Area en Git

11Staging Area en Git

La staging area en Git es el lugar "virtual" para agregar los cambios presentes en la working copy que se desea guardar como un commit. También para el staging area en Git cabe considerar que es un concepto ligado al funcionamiento básico de Git (secuencia de snapshot extraídas a lo largo del tiempo en una working area). Muy a menudo, de hecho, n...

Sigue leyendo
Branch en Git

12Branch en Git

Hemos dicho anteriormente que Git compara los archivos presentes en la working copy con respecto al commit de la que se extrajeron para comprender en qué estado se encuentran. Sin embargo, con mayor frecuencia oiremos (y comenzaremos a decir también) que cualquier cambio en la working copy es con respecto al branch en el que estoy trabajando. Tratemos de aclarar esto: ...

Sigue leyendo
Remote en Git

13Remote en Git

El último concepto básico a aclarar es el de Remoto(s) en Git, entendido en el sentido de un repository remoto al que mi repository local está conectado de alguna forma. Hemos visto que podemos copiar un repository preexistente en un servidor remoto a nuestra máquina usando git clone. Cuando git clone crea la copia local, también guarda ...

Sigue leyendo

5
Guardar cambios en Git

El comando Git add en Git

17El comando Git add en Git

Cuando se trabaja con un version control system como Git, el concepto de "guardar cambios" tiene más matices que guardar un archivo en un procesador de textos o editor de archivos. Ya hemos visto cómo en Git la acción "guardar" se puede lograr a través de un compromiso. Veamos con más detalle todos los comandos út...

Sigue leyendo
El comando Git commit en Git

18El comando Git commit en Git

El comando git commit fija en la historia del proyecto un snapshot del estado actual, es decir, una versión "segura" o relevante" del mismo proyecto. Los cambios incluidos en el guardado son aquellos que se han incluido explícitamente en la staging area a través del comando git add. Si se ejecuta sin opciones, se abre un editor de texto (configurabl...

Sigue leyendo
El comando Git diff en Git

19El comando Git diff en Git

git diff es un comando Git multiuso que permite ver las diferencias entre dos data source, ya sean archivos, commit, branch u otros. En esta sección, veremos los usos más típicos de git diff y explicaremos el formato estándar en el que se muestran estas diferencias. Aquí hay un ejemplo práctico usando un repositorio creado desde cero: $ mkdir ...

Sigue leyendo
El comando Git stash en Git

20El comando Git stash en Git

El comando git stash se usa para dejar de lado todos los cambios actuales no confirmados, para recuperarlos en un momento posterior. En la práctica, se utiliza en todas aquellas ocasiones en las que se han realizado una serie de cambios "WIP" (work in progress), aún no es momento de comprometerse, pero es necesario volver temporalmente a una situación "...

Sigue leyendo
.gitignore : los archivos ignored en Git

21.gitignore : los archivos ignored en Git

Anteriormente hemos visto que Git considera los archivos presentes en la working copy distinguiéndolos en tracked (archivos que se han enviado al repository o incluidos en el staging area) y untracked  (lo opuesto al anterior). A estos dos grupos podemos añadir un tercero, los archivos ignored, es decir, los archivos para los que Git ha sido expresamente i...

Sigue leyendo

6
Consultar el estado en Git

El comando Git status en Git

22El comando Git status en Git

El comando git status muestra el estado actual de la working directory y de la staging area, permitiendo ver que archivos modificados se han añadido a la staging area, que archivos modificados no han sido añadidos a la staging area y que archivos no se rastrean en el repository. El output de git status es uno de los más ricos de informaci&...

Sigue leyendo
El comando Git log en Git

23El comando Git log en Git

El comando git log permite visualizar el historial de los commit, filtrarlo y buscar cambios específicos. Así como git status opera en la working directory y la staging area, git log opera en la history de los commit. Git log ofrece muchas opciones para personalizar las visualizaciones de los commit y para filtrarlas. A continuación, ...

Sigue leyendo
El comando Git tag en Git

24El comando Git tag en Git

Git permite agregar una etiqueta a un commit específico, de modo que se pueda usar esta etiqueta como referencia para un punto específico en el historial del repository. El uso típico de las etiquetas es marcar un determinado lanzamiento o versión, para poder acceder a ella más tarde con facilidad. De hecho, a diferencia de los branch, una vez que ...

Sigue leyendo
El comando Git blame en Git

25El comando Git blame en Git

Para concluir con el elenco de los comando útiles en Git para consultar el estado y la historia de un repository encontramos en comando git blame. La traducción literal del verbo "to blame" es "inculpar" y, de hecho, este comando git se usa para responder a la pregunta "¿quién ha cambiado esta línea?" Es útil en el cas...

Sigue leyendo

7
Deshacer cambios en Git

El comando Git checkout en Git

26El comando Git checkout en Git

Git no ofrece funciones de "deshacer" similares a las de programmi consumer, pero ofrece diferentes comandos que permiten volver sobre sus pasos y administrar la secuencia de commit en la historia como si fuese una máquina del tiempo. El comando Git checkout en Git Sabemos que Git almacena una serie de snapshot de un proyecto llamados commit, cada commit tiene su propio iden...

Sigue leyendo
El comando Git revert en Git

27El comando Git revert en Git

El comando git revert in Git permite "eliminar" un cambio no deseado del repository. Sin embargo, dado que Git está diseñado para preservar el historial de un proyecto y la integridad del historial de revisiones, el comando revert funciona agregando un nuevo commit que es exactamente lo contrario del commit que se desea eliminar. Supongamos que tenemo...

Sigue leyendo
El comando Git reset en Git

28El comando Git reset en Git

De manera similar al anterior, el comando git reset en Git permite deshacer los commit de un repository, pero lo hace destructivamente. En particular, git reset puede operar en el historial de los commit, por lo tanto, permite modificar el historial de un branch específico. Es un comando que debes usar con cuidado si no quieres perder parte de tu trab...

Sigue leyendo
El comando Git rm en Git

29El comando Git rm en Git

El comando git rm en Git  se usa para indicar a Git que elimine un archivo del seguimiento; es el comando opuesto y complementario a git add. Obviamente, en virtud de cómo funciona Git, siempre será posible acceder a las distintas versiones del archivo consultando los diversos compromisos en los que ese archivo aún estaba incluido entre los incluidos en ...

Sigue leyendo

10
Introducción a los repository "remote" en Git

Repository compartido en Git

33Repository compartido en Git

En la sección introductoria, dijimos que una de las ventajas de Git es que ofrece un modelo de colaboración distribuida. También ya hemos explicado cómo "recuperar" un proyecto preexistente alojado en un servidor remoto usando el comando git clone. Entremos en más detalles sobre el uso de un repositorio remoto por parte de múltiples colaborado...

Sigue leyendo
El modelo Fork & pull

34El modelo Fork & pull

El modelo de repositorio compartido (remoto) es la forma más fácil de colaborar en el desarrollo de un proyecto usando Git. Hay un único repositorio remoto utilizado por todos los colaboradores para enviar y recibir commit. Veamos otro modelo, promovido por el servicio GitHub, donde existen múltiples repositorios remotos con diferentes permisos para los colaboradores...

Sigue leyendo
El comando Git remote en Git

35El comando Git remote en Git

Las descritas en los capítulos anteriores y otras formas de colaboración son posibles gracias a los tracked repository (o repositorios remotos) que se pueden conectar a cada repositorio de Git usando el comando git remote. El comando git remoto de git en realidad no realiza el acceso real ni la sincronización con estos repositorios remotos...

Sigue leyendo
Los principales repository remote de Git: Github, Gitlab y Bitbucket

36Los principales repository remote de Git: Github, Gitlab y Bitbucket

Después de haber explorado los modelos de colaboración y de desarrollo compartido en Git, veamos cuales son sus principales repository online. GitHub Es un servicio de intercambio de archivos o códigos para colaborar con diferentes personas. GitHub es un popular software de control de versiones. Esto es útil cuando más de una persona está trabajan...

Sigue leyendo

14
Git workflow y estrategias de branching en Git

Workflow Git centralizado

45Workflow Git centralizado

Git es el sistema de control de versiones más utilizado en el mundo, también gracias a su extrema flexibilidad para adaptarse al flujo de trabajo de cada individuo y del equipo. Con el tiempo, han surgido buenas prácticas y recomendaciones sobre el uso eficiente de Git, para poder trabajar de manera consistente y productiva. Estas prácticas se denominan "work...

Sigue leyendo
Workflow Git feature branching

46Workflow Git feature branching

Las ramas se utilizan para aislar el desarrollo de una función o corrección de la rama del repositorio principal. Solo una vez que se completa el desarrollo, la función vuelve a la rama principal. Las feature branch en Git se cargan en el único repositorio remoto y varios desarrolladores pueden contribuir a la implementación de la función. ...

Sigue leyendo
Workflow Git trunk-based

47Workflow Git trunk-based

El Workflow Git trunk-based es, en cierto modo, la unión de los dos anteriores y busca unir diferentes necesidades y reflexiones relacionadas con el desarrollo de software moderno. El workflow trunk-based in Git sigue la indicación de facilitar el desarrollo concurrente en una sola rama principal, y ofrece varias sugerencias sobre cómo lograr este result...

Sigue leyendo
Enfoque “forking” en Git

48Enfoque “forking” en Git

Los workflow vistos hasta ahora tenían en común el hecho de que todavía tenían un único repositorio remoto de referencia, que eventualmente podría usar las ramas para aislar desarrollos. En el enfoque de “forking”, en cambio, se crea un repositorio separado del principal, creando así una estructura de colaboración nueva y sep...

Sigue leyendo
Gitflow en Git

49Gitflow en Git

Una última sección dedicada al Git workflow conocida como "GitFlow". Como dijimos al comienzo de esta sección y esta guía, Git en sí mismo no es prescriptivo sobre el uso de ciertas funciones, sino que permite que el desarrollador web y el equipo encuentren el flujo que mejor se adapte a sus necesidades. GitFlow fue quizás el prim...

Sigue leyendo

© 2022 Aulab. Todos los derechos reservados • P.IVA: IT07647440721 • Política de privacidad