Skip to content

hernancerm/intro-git-github-ejercicios

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Introducción a Git y GitHub: Ejercicios

Este repositorio contiene ejercicios para un taller introductorio a Git y GitHub. El taller cubre los contenidos de Parte 1: Fundamentos, de Manual Definitivo de Git.

Cada ejercicio que involucra crear un commit contiene una ilustración de cómo debe verse el árbol de commits del repo al final del ejercicio.

En las ilustraciones, el número dentro de cada commit hace referencia al ejercicio en el que se creó.

#1 Configuración inicial

¡Configura tu nombre, correo electrónico y editor de texto!

Ejemplo de configuración:

git config --global user.name "Hernán Cervera"
git config --global user.email hernancervera@example.com
git config --global core.editor nano

Tras la configuración puedes ejecutar git config --global --list para ver en la terminal toda tu configuración global.

❓ ¿Cómo se llama y dónde se halla el archivo que almacena la configuración global de Git?

#2 Primer repositorio local

Crea tu primer repositorio en un directorio llamado git-workshop.

Crea los archivos README.md y Hernan.txt. Actualmente los archivos no requieren tener contenido.

Agrega esos dos archivos al staging area y realiza el primer commit del repo.

#3 Correcciones básicas

¿Tu nombre no es Hernán? Vamos a cambiar el nombre del archivo Hernán.txt para que coincida con el tuyo.

De tal forma que reescribas el commit realizado en el paso anterior, renombra el archivo Hernan.txt a <tu-nombre>.txt, p. ej. Pablo.txt.

#4 Crear ramas

Crea la rama yo++ y cámbiate a esa rama. Ahora que estás en la rama yo++, escriba una o dos oraciones acerca de ti en el archivo .txt con tu nombre.

Cuando hayas concluido de redactar, agrega tus cambios al staging area y realiza un commit.

Ahora regresa al primer commit del repo usando git checkout master. Crea otra rama: taller-info, y cámbiate a la rama. En el README.md, escribe una o dos oraciones acerca del taller, agrega los cambios al staging area y realiza un commit.

Inspecciona el estado actual del repositorio con:
git log --oneline --all --graph
Observa que el repo ahora contiene tres commits, uno apuntado por master, otro por taller-info y el tercero apuntado por yo++.

❓ ¿Desde la rama taller-info, el archivo .txt con tu nombre tiene contenido o está vacío? ¿Por qué crees que es así?

#5 Merge fast-forward de ramas

Colócate en la rama master, e incorpora los cambios de yo++ a master mediante un merge.

#6 Merge recursive de ramas

Ahora, permaneciendo en master incorpora los cambios de taller-info en master mediante un merge.

#7 Aparición de conflictos al realizar merge

En master, modifica la primera línea del archivo README.md, agrega los cambios al staging area y realiza un commit.

Ahora colócate en la rama taller-info, modifica la primera línea de README.md (de manera distinta a como la modificaste previamente), agrega los cambios al staging area y realiza un commit.

Regresa a master, e incorpora los cambios de taller-info mediante un merge. Git te debería reportar que ha ocurrido un conflicto que requiere ser solucionado manualmente.

❓ ¿Por qué ocurrió un conflicto en este caso?

#8 Resolución de conflictos de merge

En tu editor de texto preferido, abre el archivo con el conflicto (README.md), elimina los marcadores de conflicto y edita el contenido de acuerdo a cómo deseas preservar el archivo.

Una vez terminada la edición en el editor de texto, agrega los cambios al staging area y ejecuta git merge --continue.

#9 Primer repositorio de GitHub

Crea un repositorio público en GitHub, con el nombre de <tu-nombre>-intro-git, p. ej. pablo-intro-git.

❓ ¿Cómo es GitHub diferente a Git?

#10 Sube tus cambios a GitHub

Empuja los cambios de tu rama master a GitHub, para que los demás también puedan ver tu repo.

❓ Tras realizar push de master, ¿puedes también ver en GitHub tus ramas taller-info y yo++?

Recursos adicionales

About

Ejercicios para el taller «Introducción a Git y GitHub»

Topics

Resources

Stars

Watchers

Forks