Git checkout
Nos permite regresar a cualquier versión anterior de un archivo específico o del proyecto entero, pero con la posibilidad de regresar al “presente”. A diferencia de git reset, git checkout no borra nada.
Git reset
Regresa en el tiempo al commit especificado y borra los commits consecuentes al commit especificado. En otras palabras, volver en el tiempo sin poder volver al futuro. Existen diferentes maneras para usar git reset:
- git reset –soft: tiene el comportamiento anterior pero los archivos en el staging permanecen ahí.
- git reset –hard: tiene el comportamiento anterior pero los archivos en el staging no permanecen ahí.
- git reset HEAD: mueve cambios de staging a unstaged (al directorio actual).
Git rm
Elimina archivos de git sin eliminar su historial del sistema de versiones.
- git rm –cached: elimina los arhivos de staging y del proximo commit pero los mantiene en el disco duro. Es decir quita el seguimiento.
- git rm –force: elimina los archivo de git y del disco duro.
La diferencia entre git rm -cached y git reset HEAD. En el primero por ejemplo, si tienes cambios en staging y luego aplicas el comando entonces pierdes el archivo y por lo tanto tus avances ya que no hiciste commit (y el archivo local lo puedes modificar pero sin la confianza de que ya lo tienes en stagging). De la misma manera pasa si lo tienes en el repositorio, ya no tendrás más seguimiento del archivo. Sin embargo, aun lo tendrás en local el archivo. Por otra parte, git reset HEAD pasa lo de staging a local (sin borrar nada).
Git cherry-pick
Traes un commit en el tiempo, a diferencía de git checkout que tu vas al commit.
Recomiendo ver esta guía visual sobre Git.
Comentarios
Publicar un comentario