Skip to content

Beginner-friendly Git and GitHub workshop repository. It documents the step-by-step process of creating, configuring, and collaborating on a Git repository, including branching, pull requests, conflict resolution, and best practices like Git Flow. Perfect for mastering essential version control skills in a real teamwork scenario.

Notifications You must be signed in to change notification settings

AnderssonProgramming/MyFirstApproachGithub-

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 

Repository files navigation

LABORATORIO 1- INTRODUCCIÓN GIT

ESCUELA COLOMBIANA DE INGENIERÍA - CICLOS DE VIDA DE DESARROLLO DE SOFTWARE

alt text

INTEGRANTES

ANDERSSON DAVID SÁNCHEZ MÉNDEZ

CRISTIAN SANTIAGO PEDRAZA RODRÍGUEZ

RESPUESTAS

PARTE I (Trabajo Individual).

  1. Crea un repositorio localmente.

    alt text

  2. Agrega un archivo de ejemplo al repositorio, el README.md puede ser una gran opción.

    alt text

  3. Averigua para qué sirve y como se usan estos comandos git add y git commit -m “mensaje”

    git add = Mueve los cambios del directorio de trabajo al área del entorno de ensayo.

    git commit -m "mensaje" = captura una instantánea de los cambios preparados en ese momento del proyecto.

  4. Abre una cuenta de github, si ya la tienes, enlazala con el correo institucional.

alt text

  1. Crea un repositorio en blanco (vacío) e GitHub.

alt text

  1. Configura el repositorio local con el repositorio remoto.

    Como subir un proyecto local a github.

    alt text

  2. Sube los cambios, teniendo en cuenta lo que averiguaste en el punto 3 Utiliza los siguientes comando en el directorio donde tienes tu proyecto, en este orden:

      git add .

    alt text

      git commit -m "mensaje, lo que hiciste con el archivo"

    alt text

     git config user.name "Nombre del usuario"

    alt text

      git push "url repositorio"

    alt text

  3. Configura el correo en git local de manera correcta Configurar correo electrónico en GitHub

    alt text

  4. Vuelve a subir los cambios y observa que todo esté bien en el repositorio remoto (en GitHub).

    alt text alt text

PARTE II (Trabajo en parejas)

  1. Se escogen los roles para trabajar en equipo, una persona debe escoger ser "Owner" o Propietario del repositorio y la otra "Collaborator" o Colaborador en el repositorio.

assets/image

Owner = Cristian Pedraza

Collaborator = Andersson Sánchez

  1. El owner agrega al colaborador con permisos de escritura en el repositorio que creó en la parte 1

    Invitar colaboradores a un repositorio personal

    Cristian me agrega como colaborador al repositorio que él creó.

  2. El owner le comparte la url via Teams al colaborador

    alt text

  3. El colaborador acepta la invitación al repositorio.

alt text Ahora ya tengo acceso al repositorio de Cristian alt text

Hago git clone para bajar el repositorio central de Cristian de manera local en el computador. alt text

alt text 5. Owner y Colaborador editan el archivo README.md al mismo tiempo e intentan subir los cambios al mismo tiempo. 6. ¿Que sucedió?

alt text alt text 7. La persona que perdió la competencia de subir los cambios, tiene que resolver los conflictos, cúando haces pull de los cambios, los archivos tienen los símbolos <<< === y >>> (son normales en la resolución de conflictos), estos conflictos debes resolverlos manualmente. Como resolver Conflictos GitHub

alt text Se resolvieron los conflictos dándole en resolve merge alt text 8. Volver a repetir un cambio sobre el README.md ambas personas al tiempo para volver a tener conflictos.

Ahora yo hago push y luego mi compañero el pull para ver el error que sucede para solucionarlo en IntellijIDEA

alt text

  1. Resuelvan el conflicto con IntelliJ si es posible, Resolver conflictos en IntelliJ

De esta forma ya sabes resolver conflictos directamente sobre los archivos y usando un IDE como IntelliJ, esto te será muy útil en los futuros trabajos en equipo con Git.

PARTE III (Trabajo de a parejas)

  1. ¿Hay una mejor forma de trabajar con git para no tener conflictos?

Si, esa forma consiste en no trabajar todo sobre la main, sino crear una rama nueva, y sobre esa hacer cambios, luego cuando esté seguro que el proyecto está bien, entonces se hace el PR, para subir y dejar todo en la rama principal (main); usando git flow.

  1. ¿Qué es y como funciona el Pull Request?

Permite a tu equipo solicitar la revisión y aprobación de sus cambios antes de fusionarlos en la rama principal (main).

  1. Creen una rama cada uno y suban sus cambios

assets/image assets/image assets/image

alt text

alt text alt text 4. Tanto owner como colaborador hacen un cambio en el README.md y hacen un Pull Request (PR) a la rama main/master

 [Pull Request - GitHub](https://docs.github.com/es/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)

alt text alt text

alt text (Recomendación : deben trabajar en equipo y distribuirse de mejor manera quien va a modificar qué, para evitar modificar los mismos archivos al mismo tiempo, si no se editan los mismos archivos la resolución de conflictos es automática)

  1. Teniendo en cuenta la recomendación, mezclen los cambios a la rama main a través de PR con el check/review/approval del otro compañero (Cuando se hace merge se deberían borrar las ramas en github)

alt text Como Borrar Ramas después de un Pull Request

Se dirigen a la configuración de su repositorio:

assets/image

Y en general

assets/image

Se dirigen al final en el área del pull requests y seleccionan “Automatically delete head branches”

assets/image

Aprobación Pull Request

Nos dirigimos (todavía en configuraciones) a Branches, en esta visualizarán donde daremos protección de nuestras ramas, seleccionamos Add rule

assets/image

Aquí damos el nombre de nuestra rama (Verificar el nombre tal cual lo tenemos en nuestro repositorio) y seleccionamos la primera opción como se muestra, así estamos requiriendo que cuando se haga ese pull request en nuestra rama se necesita aprobación de otro compañero

assets/image

alt text Vamos al final y damos clic en Create

assets/image

Y así protegimos nuestra rama principal, esto se vuelve muy relevante cuando trabajamos en parejas o en equipos, deberían tener un mensaje final que se vea así

assets/image

alt text

CASO PARA VERIFICAR QUE TODO SALIÓ BIEN AL TENER QUE APROBAR EL PULL REQUEST PARA DESPUÉS HACER EL MERGE DE main y master.

alt text alt text alt text alt text alt text alt text alt text

Y ASÍ QUEDA SOLO la main como rama en el repositorio. alt text

ENTREGA

  • En un README.md colocar lo siguiente:
  • Una sección llamada “INTEGRANTES” y allí colocar el listado de los integrantes del taller (máximo 2).
  • Una sección llamada “RESPUESTAS” colocar las respuestas a las preguntas.
  • La entrega deberá realizarla en Moodle en el espacio correspondiente a su grupo.

About

Beginner-friendly Git and GitHub workshop repository. It documents the step-by-step process of creating, configuring, and collaborating on a Git repository, including branching, pull requests, conflict resolution, and best practices like Git Flow. Perfect for mastering essential version control skills in a real teamwork scenario.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published