Freddy habla del Garbage Collector, que hasta donde sé permite liberar espacio en memoria separado previamente por un programa para sus o...

Julio César Zaravia Paredes

Julio César Zaravia Paredes

Pregunta
studenthace 4 años

Freddy habla del Garbage Collector, que hasta donde sé permite liberar espacio en memoria separado previamente por un programa para sus operaciones.

Esto hace ver que el pase de un archivo a Staging es solamente un tema de memoría RAM, sin embargo a nivel de git, cuando existe una versión almacenada y una versión modificada esto es físico, es decir existe una copia física en el disco duro de la versión inicial del archivo dentro del repo .git (en alguna sección donde se guarden las copias en staging), y existe una versión modificada que se encuentra físicamente en la ruta original.

¿Cómo puede ser posible que el GC o apagar la PC o etc, haga que este archivo salga de la fase de staging? Quizá estoy entendiendo mal, si alguien sabe del tema le agradecería un comentario, actualmente estoy trabajando un proyecto personal que utiliza esta funcionalidad y me sería muy útil.

Volveré a revisar por mi cuenta, quizá esté equivocado, y lo compartiré aquí. Slds!

3 respuestas
para escribir tu comentario
    Julio César Zaravia Paredes

    Julio César Zaravia Paredes

    studenthace 4 años

    Hola @PatoVillarroel, no veo como responder a tu comentario, quería agradecerte por tu respuesta, entiendo el uso del GC como herramienta dentro de Git, no sabía de esta funcionalidad y me parece muy interesante, lo revisaré.

    Patricio Villarroel Durán

    Patricio Villarroel Durán

    studenthace 4 años

    Hola Julio

    Un garbage collector efectivamente permite ir liberando la memoria que se asigna dinámicamente y luego ya no se usa, pero en git no funciona así en absoluto. Mantiene la idea pero no tiene nada que ver con el uso de memoria ram.

    El garbage collector

    git gc
    es un comando de limpieza y lo que hace es limpiar el repositorio de commits que ya no referencian a nada porque quedaron huérfanos o inaccesibles, cosa que puede pasar cuando ocupas comandos que alteran el historial como
    git reset
    o
    git rebase
    .

    Así que si tienes archivos en staging y apagas el computador, al encenderlo, los archivos seguirán en staging. Para sacarlos de staging debes usar

    git restore --staged .
    o si quieres sacar solo una archivo, reemplazar el punto por el nombre del archivo.

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.