git rm --cached vs git reset HEAD cual es la diferencia sin palabras complejas por favor :c

Pregunta de la clase:
Git reset vs. Git rm
David Carrillo Castillo

David Carrillo Castillo

Pregunta
studenthace 3 años

git rm --cached vs git reset HEAD cual es la diferencia sin palabras complejas por favor :c

3 respuestas
para escribir tu comentario
    Edgar López Laynez

    Edgar López Laynez

    studenthace 3 años

    Amaury Cruz

    Amaury Cruz

    studenthace 3 años

    Te pondré un ejemplo para complementar. Tengo un directorio llamado proyecto4. Mi directorio contiene dos archivos uno es notas.txt y el otro es temas.txt archivo1.png En git, he realizado 4 commits.archivo1.png Ahora veamos que hay dentro de temas.txt y notas.txt archivo1.png Apliquemos el comando git rm –cached temas.txt archivo1.png Ahora veamos que ocurrió En el directorio de trabajo: Todo sigue igual. archivo1.png Ejecutemos git status archivo1.png Git status nos informa que en staging se encuentra registrado que el archivo temas.txt fue eliminado de git, ademas indica que temas.txt esta untracked, ya que los sacamos de git. Ejecutamos git commit Ya no habrá cambios en staging.

    Ahora ejecutamos git show archivo1.png git show muestra las diferencias entre la versión anterior y la versión actual. Resaltando en rojo el contenido que no tiene el segundo argumento que es la versión actual. En este caso como se eliminó el archivo temas.txt nos mostrara toda su información en rojo, ya que la versión actual (segundo argumento), no tiene esa información. Esto que significa que actualmente en nuestra versión actual no existe el archivo temas.txt, sin embargo en las versiones anteriores a esta(en las que no estaba eliminado temas.txt) encontraremos los cambios que hicimos a este archivo. Así que podríamos ejecutar git reset para recuperar esos cambios o si deseamos volver a incluir el archivo en una próxima versión simplemente debemos ejecutar git add temas.txt o git add . y luego git commit para volver a incluir el archivo en tu historial de versiones. Sigamos con el ejemplo, supongamos que ahora incluimos con git add . todos nuestros archivos de nuestro directorio incluyendo temas.txt que estaba sin seguimiento. Y luego deseamos sacarlo de staging porque necesitábamos agregar información adicional, antes de hacer commit. En ese caso simplemente ejecutamos git reset HEAD, que regresara los cambios en staging a su estado anterior. archivo1.png Espero haberte ayudado😀

    Jose Luis Quintero Sánchez

    Jose Luis Quintero Sánchez

    studenthace 3 años

    Hola David :D

    git rm --cached lo que hace es borrar archivos del repositorio de Git pero los deja en el directorio de trabajo; en cambio lo que hace git reset HEAD es borrar los archivos en Staging para que así no se envien al repositorio.

    Recuerda:

    • Staging: Es donde se guardan los archivos antes de hacer un commit y enviarlos al repositorio.

    • Repositorio: Es la base de archivos de Git donde se guardan los cambios.

    • Directorio de trabajo: Son solamente tus archivos, en donde tú trabajas.

Curso de Git y Github [Empieza Gratis]

Curso de Git y Github [Empieza Gratis]

Deja de versionar tus proyectos usando tu propio sistema de control de versiones. Mejor usa Git, el sistema de control de versiones por excelencia que utiliza la industria tecnológica. Aprende a trabajar con git, conceptos básicos, clonar un repositorio y gestionar tus proyectos alojándolos en tu repositorio local y en GitHub.

Curso de Git y Github [Empieza Gratis]
Curso de Git y Github [Empieza Gratis]

Curso de Git y Github [Empieza Gratis]

Deja de versionar tus proyectos usando tu propio sistema de control de versiones. Mejor usa Git, el sistema de control de versiones por excelencia que utiliza la industria tecnológica. Aprende a trabajar con git, conceptos básicos, clonar un repositorio y gestionar tus proyectos alojándolos en tu repositorio local y en GitHub.