Probar commits que no son de fusión
En este paso, crearemos un commit regular (un commit que no es de fusión) y luego usaremos git log
para ver cómo aparece en nuestro historial en comparación con un commit de fusión (el cual aún no tenemos, pero tendremos en laboratorios futuros). Esto ayudará a consolidar tu comprensión de los diferentes tipos de commits.
Primero, hagamos un pequeño cambio en nuestro archivo message.txt
. Agregaremos otra línea.
Asegúrate de estar en el directorio ~/project/my-time-machine
:
cd ~/project/my-time-machine
Ahora, usa el comando echo
para agregar una nueva línea al archivo:
echo "Adding another line." >> message.txt
El operador >>
agrega el texto al archivo en lugar de sobrescribirlo.
Veamos el contenido del archivo:
cat message.txt
Deberías ver:
Hello, Future Me
Adding another line.
Ahora, veamos el estado de nuestro repositorio:
git status
Deberías ver que message.txt
ha sido modificado:
On branch master
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: message.txt
no changes added to commit (use "git add" and/or "git commit -a")
Git detecta el cambio que hicimos. Ahora, preparemos (stage) y confirmemos (commit) este cambio.
git add message.txt
git commit -m "Add a second line to message"
Deberías ver una salida que confirme el commit:
[master a1b2c3d] Add a second line to message
1 file changed, 1 insertion(+)
Ahora, veamos nuestro historial de commits nuevamente usando git log --oneline
:
git log --oneline
Deberías ver dos commits:
e4f5g6h (HEAD -> master) Add a second line to message
a1b2c3d Send a message to the future
El commit más reciente (e4f5g6h
en este ejemplo, tu hash será diferente) es nuestro nuevo commit que no es de fusión. Representa un cambio único realizado directamente en la rama master
.
Si tuviéramos que ejecutar git log --merges
nuevamente, aún no mostraría ninguna salida porque ninguno de estos commits es un commit de fusión.
Comprender la diferencia entre commits regulares y commits de fusión es importante para interpretar el historial de tu proyecto y colaborar de manera efectiva con otros. Los commits regulares representan un progreso lineal en una sola línea de desarrollo, mientras que los commits de fusión representan la integración de cambios de diferentes líneas.