Este repositorio contiene el código fuente y la documentación para el proyecto CMS.
Este repositorio sigue un flujo de trabajo colaborativo para desarrollar nuevas características y mantener el entorno de producción actualizado. El proceso implica las ramas de desarrollo (development
) y producción (main
).
main
(Producción): Esta rama contiene el código en producción. Se considera estable y se actualiza únicamente con cambios verificados y probados.development
(Desarrollo): Esta rama es donde ocurre el desarrollo activo. Nuevas características y cambios se integran aquí antes de ser fusionados en la rama principal.
Si aún no has clonado este repositorio, sigue estos pasos:
-
Clonar el Repositorio:
- Abre tu terminal o línea de comandos.
- Navega al directorio donde deseas clonar el repositorio.
- Ejecuta el siguiente comando para clonar el repositorio en tu máquina local:
git clone https://github.com/juanacevedo68061/proyecto_is2.git
-
Navegar al Directorio del Repositorio:
- Una vez que hayas clonado el repositorio, navega al directorio del repositorio en tu terminal:
cd proyecto_is2
- Una vez que hayas clonado el repositorio, navega al directorio del repositorio en tu terminal:
-
Crear una Nueva Rama de Funcionalidad (Feature):
- Asegurate de estar en la rama development
git checkout development # Esto es necesario para que al crear la rama feature tambien traiga el contenido de development a la rama
- Antes de trabajar en una nueva funcionalidad, crea una nueva rama feature utilizando el comando:
git checkout -b nombre-de-la-rama # Crea la rama feature y se posiciona en ella git pull origin development # Actualizar la rama feature con los últimos cambios de development git push origin nombre-de-la-rama # Sube la rama feature que solo estaba en local a remoto
- Asegurate de estar en la rama development
-
Colaboración en la Rama Feature (Opcional):
- Si deseas colaborar en una rama feature que esté en el repositorio remoto, primero verifica si la rama feature ya existe en el repositorio remoto:
git ls-remote --heads origin nombre-de-la-rama
- Si la rama feature existe en el repositorio remoto, puedes posicionarte en la rama y colaborar en ella.
git checkout nombre-de-la-rama
- Si deseas colaborar en una rama feature que esté en el repositorio remoto, primero verifica si la rama feature ya existe en el repositorio remoto:
-
Realizar Cambios y Commitear:
- Realiza los cambios necesarios en la nueva rama.
- Prueba tus cambios y asegúrate de que todo funcione correctamente. Luego.
git add . # Agregar los cambios al área de preparación git commit -m "Descripción concisa de los cambios" # Confirmar los cambios con un mensaje git push origin nombre-de-la-rama # Sube los cambios en la rama feature del repositorio remoto
-
Fusión de la rama feature en
development
:- Si se trabajó en colaboración en la rama feature, antes de la fusion actualiza la rama feature con los últimos cambios del repositorio remoto:
git pull origin nombre-de-la-rama
- Cambiate a
development
y actualiza con los últimos cambios del repositorio remoto:git checkout development git pull origin development
- Fusiona tu rama feature en
development
:git merge --no-ff nombre-de-la-rama -m "Merge de nombre-de-la-rama" # Fusiona los cambios de la rama feature en la rama development y realiza el commit del merge con mensaje git push origin development # Sube los cambios de la fusión a la rama development en el repositorio remoto
- Si se trabajó en colaboración en la rama feature, antes de la fusion actualiza la rama feature con los últimos cambios del repositorio remoto:
-
Eliminar la Rama Feature (Local):
- Después de haber fusionado con éxito la rama feature en
development
, puedes eliminar la rama feature si ya no la necesitas en tu repositorio local:git branch -d nombre-de-la-rama
- Después de haber fusionado con éxito la rama feature en
-
Eliminar la Rama Feature (Remota):
- Después de que se haya fusionado en
development
, puedes hacerlo con el siguiente comando:git push origin --delete nombre-de-la-rama-feature
- Después de que se haya fusionado en
Cuando estés listo para fusionar tus cambios en la rama principal (main
), sigue estos pasos:
-
Configuración de Git para la Estrategia de Fusión (Una sola vez):
- Configura Git globalmente para usar la estrategia "ours". Esto se hace una vez con el siguiente comando:
git config --global merge.ours.driver true # Esto es principalmente para que la configuración en .gitattributes funcione
- Configura Git globalmente para usar la estrategia "ours". Esto se hace una vez con el siguiente comando:
-
Fusión de
development
enmain
(Producción):- Asegúrate de estar en la rama
main
. Si no lo estás, puedes cambiar a esta rama ejecutando el siguiente comando:git checkout main
- Asegúrate de estar en la rama
-
Realizar la Fusión de Cambios de
development
del Repositorio Remoto:- Realiza el merge de los cambios de la rama
development
que está en el repositorio remoto enmain
, utilizando la estrategia "theirs", lo que significa que se tomarán automáticamente los cambios dedevelopment
en caso de conflictos:git merge -X theirs origin/development -m "Merge de development"
- Realiza el merge de los cambios de la rama
-
Subir Cambios a
main
(Producción):- Sube los cambios realizados en la rama principal al repositorio remoto:
git push origin main
- Sube los cambios realizados en la rama principal al repositorio remoto:
Durante el desarrollo, presentamos avances al profesor. Para ello:
- Mostramos el historial de ramas eliminadas para demostrar el progreso.
- Explicamos los cambios en las ramas de características y cómo se integran en la rama principal.
Si tienes preguntas o necesitas integrarte al proyecto, puedes contactar a [juan.acevedo68061@fpuna.edu.py].
¡Gracias por contribuir al proyecto CMS!