tipos - Git: ¿qué es un commit/blob colgante y de dónde vienen?
qué tipos de etiquetas existen en git (3)
Estoy buscando la información básica sobre commits & blobs colgantes.
Mi repositorio parece estar bien. Pero corrí git fsck
por primera vez para ver qué hacía y tengo una larga lista de "blobs colgantes" y una única "confirmación colgante".
¿Qué son estas cosas? ¿De dónde vienen ellos? ¿Indican algo inusual (bueno o malo) sobre el estado de mi repositorio?
CÓMO eliminar todos los commit pendientes de su repositorio git de http://www.tekkie.ro/news/howto-remove-all-dangling-commits-from-your-git-repository/
git reflog expire --expire=now --all
git gc --prune=now
Asegúrese de que realmente desea eliminarlos, ya que puede decidir que los necesita, después de todo.
Durante el trabajo con su repositorio de git, puede terminar retrocediendo en las operaciones y realizando otras acciones que causan blobs intermedios, e incluso algunas cosas que Git hace por usted para ayudar a evitar la pérdida de información.
Eventualmente (de manera condicional, de acuerdo con la página del manual de git gc ) realizará la recolección de basura y limpiará todo esto. También puede forzarlo invocando el proceso de recolección de basura, git gc
.
Para obtener más información al respecto, consulte Mantenimiento y recuperación de datos en el sitio de git-scm.
Una ejecución manual de GC saldrá de forma predeterminada 2 semanas antes del tiempo de ejecución de este comando de una red de seguridad. De hecho, se recomienda ejecutar el GC ocasionalmente para ayudar a garantizar el uso eficiente de su repositorio de git. Sin embargo, como todo, debes comprender lo que está haciendo antes de destruir aquellas cosas que pueden ser importantes para ti.
Dangling blob = Un cambio que llegó al área / índice de ensayo pero nunca se comprometió. Una cosa que es increíble con git es que una vez que se agrega al área de preparación, siempre puedes recuperarlo porque estos blobs se comportan como commits porque también tienen un hash.
Dangling commit = Una confirmación que no está vinculada a ninguna rama o etiqueta ni directamente ni por ninguno de sus ascendentes. ¡Puedes recuperarlos también!