¿Cómo puedo revisar o proteger las eliminaciones de sucursales remotas?

En mi proyecto, creé una nueva twig para una nueva function, terminé la function y fusioné la twig nuevamente en mi twig de desarrollo. Luego seguí las instrucciones para eliminar la twig localmente y en mi repository de origen github.

Luego noté que todas las menciones de mi sucursal, tanto a nivel local como a distancia, desaparecieron por completo. No puedo ver ninguna indicación de que la twig haya existido en algún momento. Esto es aterrador porque, ¿qué ocurre si traigo otro desarrollador (o incluso si hago esto) y en lugar de eliminar una twig de características en GitHub, él elimina la twig de desarrollo. La única indicación que tendré es que aparece una twig less sin indicación de por qué.

Una de las principales razones para usar el control de fuente es tener un historial completo de todo lo que le sucedió a su fuente, y esto parece ir en contra de ella, a less que me falta algo. Lo que preferiría es una forma de marcar una twig como cerrada para que no acepte más cambios, pero aún tiene el logging de la progresión de la sucursal, quién la cerró y por qué se cerró (¿la function no funcionó? correctamente y tuvo que ser rehecho, se terminó, etc.) y quién lo cerró.

Como no puedo encontrar ninguna forma de hacerlo, ¿hay alguna forma de asegurar al less quién puede eliminar una sucursal y quién no tiene acceso a ella? ¿O hay una forma de ver las twigs borradas?

Eliminar una twig en git realmente elimina la twig. Si esto no es lo que quieres hacer, no elimines la twig. Sin embargo, eliminar una twig por sí mismo no elimina el historial de su proyecto; simplemente elimina la reference al final de la twig. Todos los commits en la twig todavía están allí; simplemente no hay una manera obvia de encontrarlos.

No puede evitar que alguien que tiene acceso a su repository elimine una sucursal. Es por eso que es habitual en github que cada persona tenga su propio repository para trabajar. Si se elimina una twig, tú eres el que lo hizo.

Si borra una twig usted mismo por error, puede recuperarla si conoce la identificación de confirmación de la punta de la twig (que se registrará en la confirmación en la que la fusionó en su línea de desarrollo principal, o en el reflog). Cree y compruebe una nueva twig con el nombre de la twig eliminada, y use git reset para vincular ese nombre de twig con la sugerencia de confirmación nuevamente.

A partir de su pregunta, parece que desea realizar un seguimiento del estado de la sucursal para siempre. La forma correcta de hacerlo es crear una label al final de la twig. A continuación, puede eliminar la twig, pero la reference a la sugerencia (y todo su historial) continuará en la label.

Si el otro desarrollador elimina una twig en Github, aún tendría su propia copy en su repository local, y podría volver a enviarla a Github.