¿Qué sucede con una twig de git después de eliminar si no se fusionó?

Tengo un pequeño repository con un maestro y una twig experimental para probar algunas características nuevas. Decidí no implementar esas características en el maestro.

¿Qué ocurre con las confirmaciones de la twig experimental cuando git push origin --delete <branchName> esa twig con el git push origin --delete <branchName> ? ¿Guardarán algunos remanentes no accesibles? Si recuerdo bien, tengo tags en esa twig y está cargada en github. ¿Esto causará algún problema?

editar:

Comprobé con gitk --all lo sugerido, el gráfico de confirmación se ve así:

cometer gráfico

Lo que deseo es eliminar la twig babel con todas sus confirmaciones, y no quiero que sea restaurable. es posible?

Eliminar una twig solo hará eso: Eliminar la twig. Como una twig es solo una reference a una confirmación, solo esa reference se ha ido. El compromiso todavía está allí.

De forma similar a los lenguajes de progtwigción, Git tiene una colección de basura que eventualmente eliminará los objects de compromiso a los que ya no se hace reference. Entonces, si esa twig fue el único indicador de esa confirmación, perderá el acceso a ella y se eliminará "pronto".

Si tiene otras references, que incluyen otras twigs, tags y confirmaciones que hacen reference indirecta a esa confirmación (es decir, para la cual esa confirmación es una matriz), la confirmación todavía se reference y no se eliminará.

Por lo tanto, si desea deshacerse de una confirmación , deberá eliminar todas las references a esa confirmación. Si desea eliminar la twig, y ​​hay otras cosas que hacen reference a una confirmación desde esa twig, entonces eso no es un problema y no causará problemas: es un comportamiento deseado que la confirmación se mantenga para que las otras cosas no se rompan. .

Sí, git mantendrá algunos remanentes no accesibles, al less para empezar. Los commits a los que no se puede acceder desde las twigs o tags existentes se denominan commit colgantes . Vea esta pregunta, por ejemplo: Git: ¿qué es un commit / blob colgante y de dónde vienen?

Si ha creado tags en la twig y las ha insertado en GitHub, las tags seguirán existiendo en su repository local, por lo que las confirmaciones de dichas tags no se eliminarán.

Podría usar, por ejemplo, gitk --all para mostrar todas las twigs y tags en su repository local, y si ve tags que estaban en la twig anterior que ha eliminado, también podría eliminar cada label, usando

 git tag -d TAG-NAME 

para eliminar la label localmente, y también eliminar la label de GitHub usando:

 git push origin :refs/tags/TAG-NAME 

Las confirmaciones no accesibles eventualmente se eliminan cuando git realiza la recolección de elementos no utilizados en el repository. Como se mencionó en la otra pregunta de Desbordamiento de stack, hay más información al respecto en la sección Mantenimiento y Recuperación de datos en git-scm.com .

¿Qué ocurre con las confirmaciones de la twig experimental cuando git push origin --delete <branchName> esa twig con el git push origin --delete <branchName> ?

La twig específica se eliminará en su repository local y remoto. Puede que no sea posible restaurarlo de nuevo.

¿Guardarán algunos remanentes no accesibles?

De acuerdo con esta respuesta http://sofes.miximages.com/a/4674570/1654730 , es posible restaurar la twig con la ayuda del reflog.

Si recuerdo bien, tengo tags en esa twig y está cargada en github. ¿Esto causará algún problema?

Esto no debería causar ningún problema. Si tiene tags en esa twig, puede acceder a las tags y crear una nueva twig basada en ellas.