Commits bajo el workflow Feature Branch

Cuando trabajamos bajo el workflow Feature Branch, implementamos las características en ramas separadas de la principal. En este vídeo veremos cómo se pueden hacer commits en otras ramas.

Cuando trabajamos con Git, una de las mejores prácticas para mantener nuestro código organizado y evitar conflictos es utilizar un workflow basado en ramas de características, o feature branches. Esto nos permite desarrollar nuevas funcionalidades o hacer cambios en paralelo sin afectar la rama principal, que normalmente es master.

Imaginemos que tenemos nuestro proyecto en la rama master y queremos hacer algunos cambios estéticos en la página web, como modificar la tipografía y los colores de la parte superior. En lugar de trabajar directamente sobre master, creamos una nueva rama para estos cambios. Para ello, usamos el comando git checkout para cambiar a esa rama, que llamaremos feature new style. De esta forma, podemos trabajar en paralelo mientras la rama master permanece intacta.

Abrimos nuestro editor de texto y realizamos las modificaciones necesarias en los archivos correspondientes. Por ejemplo, cambiamos el color de fondo y la tipografía para darle un aspecto más atractivo a la página. Una vez que hemos terminado, comprobamos el estado del repositorio con git status y añadimos todos los archivos modificados al área de preparación con git add .. Este comando es un atajo que añade todos los cambios realizados.

Después, hacemos un commit con un mensaje claro y descriptivo, por ejemplo:

git commit -m "Retoca el estilo de la página"

Es importante que el mensaje del commit explique qué hemos cambiado y por qué, para que cualquiera que revise el historial pueda entender fácilmente el propósito de ese cambio.

Si ahora consultamos el historial con git log, veremos que la rama feature new style apunta a este nuevo commit, mientras que la rama master sigue apuntando al commit anterior. Esto significa que tenemos dos líneas de desarrollo paralelas.

Para visualizar mejor esta situación, podemos usar:

git log --all --graph --oneline

Esto nos mostrará un gráfico con las ramas y sus respectivos commits, evidenciando que feature new style y master están en puntos diferentes del historial.

Cuando cambiamos de rama con git checkout master, Git actualiza nuestro directorio de trabajo para reflejar el estado de esa rama. Por eso, los archivos vuelven a su versión anterior, y la página web se muestra como estaba antes de los cambios estéticos.

Supongamos que, mientras trabajamos en la rama de estilo, recibimos una petición urgente del cliente para corregir la fecha de apertura de la web, que ha cambiado de octubre a noviembre. Como esta corrección es urgente y afecta a la rama principal, nos cambiamos a master y hacemos la modificación directamente ahí.

Editamos el archivo correspondiente, por ejemplo index.html, cambiando la fecha a 1 de noviembre. Luego añadimos el archivo y hacemos un commit con un mensaje claro:

git add index.html
git commit -m "Retrasa la apertura de la web"

Ahora, en el historial, tenemos dos ramas con commits diferentes: la rama feature new style con los cambios estéticos y la rama master con la corrección de la fecha. Ambas ramas han avanzado de forma independiente.

Para integrar los cambios de la rama de estilo en master, tendremos que fusionarlas más adelante, pero por ahora hemos visto cómo trabajar con commits en ramas paralelas, manteniendo el historial limpio y organizado.

Este enfoque nos permite desarrollar nuevas funcionalidades o hacer correcciones urgentes sin interferir con el trabajo que se está realizando en otras ramas, facilitando la colaboración y el mantenimiento del proyecto.

Lista de reproducción
  1. 1
    ¿Qué es Git?
    4 minutos
  2. 2
    Cómo instalar Git
    9 minutos
  3. 3
    Creando tu primer commit
    9 minutos
  4. 4
    Qué es el staging area
    10 minutos
  5. 5
    Cómo deshacer modificaciones de archivos
    7 minutos
  6. 6
    Cómo deshacer un commit con reset
    7 minutos
  7. 7
    Cómo revertir un commit con revert
    7 minutos
  8. 8
    Introducción a las ramas
    6 minutos
  9. 9
    Cómo crear y modificar ramas
    6 minutos
  10. 10
    Commits bajo el workflow Feature Branch
    6 minutos
  11. 11
    Cómo fusionar ramas con merge
    6 minutos
  12. 12
    Fusiones conflictivas
    9 minutos
  13. 13
    Cómo construir alias
    7 minutos
  14. 14
    Más sobre conflictos
    9 minutos
  15. 15
    Etiquetas
    7 minutos
  16. 16
    Tags anotados
    9 minutos
  17. 17
    git stash: esconder cambios
    6 minutos
  18. 18
    Introducción a remotos
    5 minutos
  19. 19
    Pusheando a un remoto
    6 minutos
  20. 20
    Clonando y haciendo pull
    6 minutos
  21. 21
    Fetch y pull rebases
    8 minutos
  22. 22
    Rebase
    7 minutos
  23. 23
    Rebase interactivo
    6 minutos
  24. 24
    Master, main y otros nombres de rama
    9 minutos
  25. 25
    git switch
    9 minutos
  26. 26
    git-restore
    10 minutos
  27. 27
    git-grep
    11 minutos
  28. 28
    Gitignore
    11 minutos
  29. 29
    El flag --patch
    9 minutos
  30. 30
    git-apply y parches en bruto (advanced)
    9 minutos
  31. 31
    Merge octopus (advanced)
    9 minutos
  32. 32
    Conventional commits
    12 minutos
  33. 33
    Merge and squash (GitLab / GitHub...)
    6 minutos
  34. 34
    git merge --squash
    7 minutos
  35. 35
    git-bisect
    8 minutos
  36. 36
    git-blame
    6 minutos
  37. 37
    git-reflog
    10 minutos
  38. 38
    Git para la Bash
    11 minutos
  39. 39
    Submódulos (parte 1)
    7 minutos
  40. 40
    Submódulos (parte 2)
    10 minutos
  41. 41
    Otros clientes Git (último episodio)
    9 minutos