¿Qué haces con tu sucursal después de una solicitud de extracción en GitHub?


Mi equipo está experimentando con el uso de GitHub pull requests para revisiones de código. Mi única pregunta es ¿qué haces con la rama después de que hayas terminado? Pensé que querrías eliminar la rama, pero ya que GitHub oculta las ramas que se han fusionado con tu rama actual, parecía que tal vez debería conservarla.

Solo curiosidad sobre cuáles son sus pensamientos sobre las mejores prácticas para esto.

Author: Randall, 2011-10-26

3 answers

La regla general que usamos (que es aquí donde en el desbordamiento de la pila) es "las ramas son para el trabajo, las etiquetas son para la historia".

Cada vez que una rama se fusiona (muy probablemente en master) etiquetamos el punto de fusión usando el nombre de la rama con el prefijo "branch" (por ejemplo, branch-topic). Luego borra la rama. Si necesitamos resucitar el trabajo en el punto de rama, tenemos la etiqueta para poder hacerlo.

Hay, por supuesto, excepciones. Tenemos ramas de larga duración que utilizamos para varios tipos de trabajo continuo. Pero en general, las ramas temáticas se eliminan después de la fusión.

En esa nota, esas fusiones siempre se hacen con

merge --no-ff <branch>

Esto asegura que hay un punto de fusión y un registro de la fusión que ocurre.

 27
Author: Bill Door,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-12 13:04:09

Tenga en cuenta que desde el 10 de abril 2013, "Botón de fusión rediseñado", la rama se elimina para usted:

nuevo botón de fusión

También se ha simplificado la eliminación de ramas después de fusionar.
En lugar de confirmar la eliminación con un paso adicional, eliminamos inmediatamente la rama cuando la eliminas y proporcionamos un enlace conveniente para restaurar la rama en el caso de que la necesites de nuevo.

Que confirma la mejor práctica de eliminar la rama después de fusionar una solicitud de extracción.

 18
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-04-12 11:42:18

Siempre elimino ramas que se han fusionado en master. Una rama de Git, después de todo, es un puntero a un commit, y ese commit ahora está disponible en el historial de otra rama, por lo que ya no necesito la rama. (Siempre puede recrear la rama mirando los padres de la confirmación de fusión.)

 10
Author: Fred Foo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-10-26 14:23:13