Verificar Cambios Preparados (Staged) vs No Preparados (Unstaged)
En este paso, exploraremos más a fondo la diferencia entre los cambios preparados (staged) y los no preparados (unstaged) modificando un archivo que ya está siendo rastreado por Git.
Primero, asegúrate de estar en el directorio ~/project/my-time-machine
:
cd ~/project/my-time-machine
Ahora, agreguemos otra línea a nuestro archivo notes.txt
. Podemos usar el comando echo
con >>
para agregar texto a un archivo existente:
echo "Another idea" >> notes.txt
Este comando agrega la línea "Another idea" al final de notes.txt
.
Veamos el estado de nuestro repositorio nuevamente:
git status
Deberías ver una salida similar a esta:
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
new file: notes.txt
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: notes.txt
Untracked files:
(use "git add <file>..." to include in what will be committed)
message.txt
Observa que notes.txt
ahora aparece en dos secciones:
- Changes to be committed: Esto se refiere a la versión de
notes.txt
que agregamos al área de preparación en el paso anterior (que solo contenía "Ideas for the future").
- Changes not staged for commit: Esto se refiere a los cambios que acabamos de hacer en
notes.txt
(agregar "Another idea"). Estos cambios están en nuestro directorio de trabajo pero aún no se han agregado al área de preparación.
Este es un concepto clave en Git: el área de preparación contiene una instantánea de los cambios que están listos para el próximo commit, mientras que el directorio de trabajo contiene el estado actual de tus archivos, incluyendo cambios que aún no se han preparado.
Para ver la diferencia entre el directorio de trabajo y el área de preparación, puedes usar el comando git diff
sin opciones:
git diff
Esto mostrará los cambios que no están preparados. Deberías ver una salida que muestre la línea "Another idea" siendo agregada.
Para ver la diferencia entre el área de preparación y el último commit (que vimos en el paso anterior), se utiliza git diff --cached
.
Comprender la diferencia entre los cambios preparados y los no preparados, y cómo verlos con git status
y git diff
, es fundamental para usar Git de manera efectiva. Te da un control preciso sobre lo que se incluye en cada commit.