2010-05-11 15 views
19

soy relativamente nuevo en Git, y desea obtener asesoramiento sobre las mejores prácticas para la eliminación de ramas.Cuándo eliminar una rama de Git?

Después de haber creado y fusionado una rama de nuevo en el maestro, ¿debo dejarla esperando por razones históricas, o debería eliminarla tan pronto como ya no sea necesaria para fines de mantenimiento?

+0

pregunta similar: [? ¿Qué hacer con ramas git no fusionadas experimentales] (http://stackoverflow.com/questions/8988240/what-to -do-con-experimental-no fusionada-GIT-ramas/8989747 # 8989747) – sleske

Respuesta

23

Por lo general, se elimina una rama después de una fusión.

Por ejemplo, después de la fusión siguientes, deberá eliminar la rama iss53, ya que no es necesario para el desarrollo de esa rama más. Puede volver a crearlo en cualquier momento utilizando el valor sha1 de la confirmación por git checkout -b <name> <sha1>.

(Ramas sólo son necesarios cuando señalan que se compromete a que son "consejos" del árbol. De hecho, en ese caso, Git no le permite eliminar, a menos que lo fuerza a.)

alt text

(la imagen de arriba proviene de la excelente progit book)

+2

1 para * * Pro Git enlace libro. –

2

Tal como lo veo, no hay realmente ninguna necesidad de mantener a su alrededor. A menos que --squash fusione, tendrá el historial de esa rama en el maestro. Continuaré y eliminaré los que ya no necesites.

+0

¿Quiere decir que, si nos aplastamos comete, a continuación, eliminar el antigua rama, no podremos volver a crearla con SHA1? git checkout -b zonabi

1

arma nuclear que desde la órbita. Solo tienes que preocuparte cuando tu eliminación eliminará cosas que no están en el historial de tu sucursal ... y aun así lo hago bastante seguido si comencé a probar algo y decidí que no valía nada.

2

ramas puntuales eliminar (como "fix-iss05") tan pronto a medida que los fusiona de nuevo en su maestra o el desarrollo de filiales. Dependiendo de su flujo de trabajo, es posible que desee hacer todo el trabajo y se fusione en una rama de "desarrollo", y solo fusionar los cambios en el maestro después de que hayan sido probados y estén listos para lanzarse.

Para un buen material de lectura en flujo de trabajo git, echa un vistazo a: http://geewax.org/2009/11/21/agile-git-workflow.html

Cuestiones relacionadas