Probar archivos modificados vs archivos agregados
En los pasos anteriores, vimos cómo git show --name-status
y git diff-tree --name-status
muestran una A
para un archivo agregado. Ahora, veamos cómo se comportan cuando un archivo se modifica.
Primero, asegúrate de estar en el directorio ~/project/my-time-machine
.
Vamos a agregar otra línea a nuestro archivo message.txt
:
echo "Hello again, Future Me" >> message.txt
El operador >>
agrega el texto al archivo existente.
Ahora, veamos el estado de nuestro repositorio:
git status
Deberías ver una salida que indique 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 identifica correctamente que el archivo ha sido modificado
.
Ahora, preparemos (stage) este cambio:
git add message.txt
Y veamos el estado nuevamente:
git status
La salida ahora debería mostrar que el cambio está preparado (staged):
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: message.txt
Observa que, aunque agregamos contenido, Git registra esto como un archivo modificado
porque el archivo ya existía en el commit anterior.
Finalmente, confirmemos (commit) este cambio:
git commit -m "Add another message to the future"
Deberías ver una salida que confirme el commit:
[master a1b2c3d] Add another message to the future
1 file changed, 1 insertion(+)
Ahora tenemos un nuevo commit. Usemos git show --name-status
en el commit más reciente (HEAD
) para ver el estado:
git show --name-status HEAD
La salida será similar a esta:
commit a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9 (HEAD -> master)
Author: Jane Doe <[email protected]>
Date: Mon Aug 7 10:05:00 2023 +0000
Add another message to the future
M message.txt
Observa la M
antes de message.txt
. Esto indica que el archivo fue Modificado
en este commit.
De manera similar, si usas git diff-tree -r --name-status HEAD
, también verás el estado M
.
Esta distinción entre A
(Agregado) y M
(Modificado) es importante para entender la historia de tus archivos en Git. A
significa que el archivo se creó en ese commit, mientras que M
significa que el archivo existía antes y su contenido se cambió.