Qué es el trabajo colaborativo con git
Aprenderemos como es el trabajo colaborativo con git y que comandos usar para compartir un proyecto

Cuando varias personas trabajan en un mismo repositorio de Git, es común que cada uno tenga su copia local del proyecto. Para mantener todos los cambios sincronizados entre los diferentes colaboradores, usamos comandos como git pull
y git merge
.
En este post realizaremos un ejercicio explicado paso a paso de un proyecto colaborativo y veremos como usar los comandos de git, compartir codigo y resolucion de conflictos presentados.
🧠 Antes de iniciar
- En el post de Guía control de versiones conceptos y vocabulario clave describimos los conceptos necesarios de git y tenemos un listado de comandos de git
- Recomiendo revisar la Instalación y Configuración de Git para que pueda realizar correctamente el ejercicio que vamos a realizar.
- Revisa y entiende los Estados de archivos en Git (
git status
,git add
,git commit
) para que pueda ver los distintos cambios realizados. - Crea un repositorio local y conecta lo con un repositorio remoto
🧠 ¿Qué es el trabajo colaborativo con git pull y git merge?
🔄 git pull
Este comando descarga los cambios del repositorio remoto y los fusiona automáticamente con tu rama actual.
Internamente es como hacer:
git fetch git merge origin/tu-rama
Une los cambios de otra rama con la rama actual. Es útil cuando trabajás con varias ramas y querés combinar su contenido.
🧪 Ejemplo práctico: Dos desarrolladores trabajando juntos
Supongamos: Juan y Ana están trabajando en el mismo proyecto que para efectos del ejercicio en un APP, ambos clonan el repositorio remoto y cada uno tiene su propio repositorio local en donde trabajan en la rama main
.

🚶🏼 Paso a paso
Antes de que Ana quiera iniciar el desarrollo de su tarea y realizar el siguiente commit, primero debe actualizar su rama local main con la rama main del repositorio local, recordemos que esta actualizacion la hacemos con:
git pull origin main
Así Ana ya tiene los ultimos commits y el repositorio ya esta sincronizado.

Juan realizará la misma actualizacion en donde tendrá el repositorio actualizado.

Ahora, Ana y Juan realizan modifiacione sobre un archivo, como se explica a continuación
# Ana edita un archivo, por ejemplo README.md
git add README.md
git commit -m "Ana: agrega instrucciones al README"
git push origin main
El siguiente paso es que Ana suba los cambios al repositorio, para ello usara
git push origin main
Con esto el cambio realizado por Ana ya esta en el repositorio remoto.

Juan también hace un cambio, pero no ha descargado el cambio de Ana todavía:
# Juan edita el archivo README.md
git add README.md
git commit -m "Juan: mejora la estructura README"
Ahora si Juan intentara realizar el git push al repositorio remoto, le generara un error donde le indicara que primero debe hacer un git pull, al realizar ka descarga de informacion del repositorio remoto, puede tener una de las siguientes opciones ya aue esta descargando los cambios que ha realizado Ana:
✅ Caso A: No hay conflictos
-
Git automáticamente fusiona los cambios de Ana con los de Juan.
⚠️ Caso B: Hay conflictos
- Git no puede fusionar automáticamente porque los dos modificaron la misma parte del mismo archivo.
- Juan verá un mensaje de conflicto y deberá resolverlo manualmente.

En este ejemplo, vamos a suponer que se ha presentado el caso B en donde Juan tiene conflictos y deberá resolverlos en su repositorio local, lo que debe hacer es editar el archivo README.md
, resolviendo el error que se ha presentado, luego seguir los siguientes pasos:
git add README.md
git commit -m "Juan: resuelve conflictos"
Esto resuelve el error en su repositorio local.

Ahora Juan ya puede volver a realizar el git push del repositorio local al remoto, en donde si podrá subir su cambio con el commit de la resolucion de los conflictos de los cambios de Ana
git push origin main

Una ves Juan termine de subir sus cambios, ana debera descargar los commits realizados por Juan para que tambien tenga actualizado su repositorio local.
git pull origin main

Y con esto finalizamos un ejemplo practico de como trabajar con un proyecto colaborativo de Git con dos personas, este ejercicio se puede hacer con un equipo de trabajo mas amplio, no cambiara nada en los pasos que deben realizar.
📝 Conclusión
git pull
te ayuda a mantener tu rama local actualizada con lo que otros han subido.git merge
es útil para fusionar ramas manualmente cuando se trabaja en paralelo (por ejemplo, si cada uno trabaja en una rama diferente y luego las juntan).- En trabajo colaborativo, siempre hacé
git pull
antes de hacerpush
para evitar sobrescribir el trabajo de otros.