Puede eliminar la rama, pero etiquetarla primero, para que su historial no desaparezca. De esta manera, la rama no aparece en la lista de ramas, lo que con suerte debería disuadir a las personas de trabajar en ella, pero el trabajo no se borrará permanentemente (incluso después de que se ejecute la recolección de basura). Por ejemplo, cada vez que tengo una rama que se ha vuelto irrelevante, pero no estoy preparado para eliminarla permanentemente, la etiqueto como "archive / < nombre-rama >".
Mientras está en master
o en alguna otra rama:
git tag archive/foo foo
git branch -D foo
Esto crea una etiqueta con el nombre archive/foo
de la foo
rama antes de eliminarla foo
. También puede agregar un mensaje a la etiqueta, que explique qué hay en la rama, por qué existía, por qué ahora es un callejón sin salida, etc.
git tag -m 'Foo is deprecated in favor of bar' archive/foo foo
La capacidad de registrar por qué una rama está en desuso es quizás una ventaja de etiquetar frente a mover ramas a un espacio de nombres alternativo.
Si alguna vez necesita resucitar una rama que se ha archivado de esta manera, es tan simple como:
git branch foo archive/foo
git tag -d archive/foo # Optional
Ahora la rama está de regreso como si nunca se hubiera eliminado.
--tags
opción paragit push
) y luego eliminando la rama remota (usando:<branch-to-delete>
refspec mientras presiona). Por ejemplo:git tag archive/foo foo; git branch -D foo; git push --tags origin :foo