Después de fusionar una rama, ¿la borra del repositorio?
Sin embargo, ¿es una buena práctica o no?
Por lo general, creo muchas ramas, ya que no quiero romper mi versión actual y desearía eliminarlas para mantener las cosas en orden.
Sin embargo, si trabaja con Assembla o GitHub, sus solicitudes de combinación de ramas antiguas se guardarán en el sitio, por lo que si las elimina obtendrá un error ya que no podrá recuperarlas ...
Por lo general, ¿cómo se maneja eso?
fuente
Merge branch fix-foo-bar
mensajes de confirmación. Pruebegit log --grep="Merge branch"
, luego suelte sus propias anclas de interés a través degit checkout -b curious-change
. Además, no se pierde nada al eliminar una rama, excepto el simple puntero "nombre de rama → commithash" (que es lo que realmente es una rama, no importa local o remota).Definitivamente limpio mis ramas después de que se hayan fusionado.
Usamos GitLab y fusionamos solicitudes en el trabajo, por lo que la información histórica sobre las ramas se almacena allí; No necesito que abarroten mi lista de sucursales, y cuando miro la bifurcación de un compañero de trabajo, idealmente me gustaría ver solo las ramas de su desarrollo activo actual. Si estoy tratando de ver algún código en su rama, quiero poder ver solo algunas ramas actualmente activas, y no todas las funciones o correcciones en las que han comenzado a trabajar.
Lo anterior también se aplica a BitBucket y GitHub.
La única razón que puede tener para no eliminar una rama después de la fusión es para saber dónde terminó una función determinada, pero las confirmaciones de fusión (y
git merge --no-ff
si realmente lo desea) hacen que eso sea irrelevante.fuente
Solo tenga cuidado con
todas las referencias de URL de hipervínculos de sus ramas BORRADAS, estarán ROTAS .
Por ejemplo,
si elimina la
branch_feature_x
rama de su repositorio, laURL del hipervínculo correspondiente de esta rama se romperá
https://github.com/username/project/tree/branch_feature_x
fuente
Solo para aclarar, la rama, desde el punto de vista de git, es solo un enlace a algún compromiso. Al eliminar la rama, no eliminará las confirmaciones de git repo. Por supuesto, las confirmaciones separadas se limpiarán después de un tiempo a través del recolector de basura git.
FYI: Normalmente estamos fusionando ramas en master a través de la interfaz bitbucket. Allí puedes poner
delete feature branch after merge
bandera.Si necesita lidiar con ramas demasiado antiguas, puede buscar algunas utilidades, por ejemplo, esta .
fuente