Probar con otras ramas
En este paso, crearemos una nueva rama y realizaremos un commit en ella para ver cómo se comporta git branch --contains
cuando un commit solo está en una rama. Esto ayudará a consolidar tu comprensión de cómo Git rastrea los commits en diferentes líneas de desarrollo.
Primero, creemos una nueva rama llamada feature-branch
. Asegúrate de estar en el directorio ~/project/my-time-machine
.
cd ~/project/my-time-machine
git branch feature-branch
Ahora, cambiemos a nuestra nueva rama:
git checkout feature-branch
Deberías ver una salida que indique que has cambiado a la nueva rama:
Switched to branch 'feature-branch'
Realicemos un nuevo commit en esta feature-branch
.
echo "Adding a feature" >> feature.txt
git add feature.txt
git commit -m "Add a new feature file"
Ahora, obtengamos el hash del commit de este nuevo commit usando git log --oneline
:
git log --oneline
La salida mostrará tu nuevo commit en la parte superior, seguido de los commits anteriores. Copia el hash del commit "Add a new feature file".
Ahora, usemos git branch --contains
con el hash del commit "Add a new feature file". Reemplaza [feature_commit_hash]
con el hash real que copiaste:
git branch --contains [feature_commit_hash]
La salida debería mostrar solo * feature-branch
. Esto se debe a que este commit específico se realizó después de crear y cambiar a feature-branch
, por lo que solo existe en el historial de esta rama.
Ahora, intentemos git branch --contains
con el hash del primer commit ("Send a message to the future") nuevamente. Reemplaza [first_commit_hash]
con el hash que usaste en el paso anterior:
git branch --contains [first_commit_hash]
Esta vez, la salida debería mostrar tanto feature-branch
como * master
. Esto se debe a que la feature-branch
se creó a partir de la rama master
, por lo que contiene todos los commits que estaban en master
en ese momento, incluyendo el primer commit.
Esto demuestra cómo git branch --contains
puede ayudarte a entender la relación entre las ramas y los commits que incluyen.