Cambiar el nombre de una rama mientras se realiza una solicitud de extracción


En Github, puedes hacer pull requests para agregar funcionalidad a un proyecto. Las contribuciones tienen que estar en una rama que, si se acepta la solicitud, se fusionará en la rama maestra (o una análoga) del proyecto.

Ahora, presenté una solicitud de extracción en Github y mis contribuciones están en una rama llamada patch-1. Puedo modificar el nombre de la rama localmente por

git branch -m patch-1 newname

Y en principio también puedo renombrarlo en mi repositorio bifurcado en Github siguiendo las instrucciones se encuentra en esta respuesta. Esto se hace en la práctica eliminando la rama antigua, patch-1 en mi caso, y repush con un nombre diferente newname.

¿Está permitido cambiar el nombre de la rama patch-1 en mi repositorio bifurcado en Github cuando constituye una solicitud de extracción? ¿O causa problemas en la gestión de pull request?

¿Hay alguna manera de cambiar el nombre de una rama en un repositorio bifurcado en Github cuando esa rama es una solicitud de extracción?

Author: Community, 2013-11-15

2 answers

"Renombrar" una rama remota en git, como lo indica el enlace que proporcionaste, en realidad es simplemente eliminar una rama, seguido de empujar una nueva con el mismo hash de confirmación pero un nuevo nombre. Si tiene una solicitud de extracción abierta para el parche de rama-1, cuando elimine esa rama, la solicitud de extracción se cerrará.

Por lo tanto, no puede cambiar el nombre de la rama con una solicitud de extracción abierta sin eliminar la rama y eliminar la solicitud de extracción. Sin embargo, no hay nada que te detenga de hacer eso, empujando una nueva rama con un nuevo nombre, y la creación de una nueva pull request.

 67
Author: arbylee,
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
2016-10-16 12:06:15

Respuesta corta:

No

Enfoque alternativo:

  1. Abrir una nueva PR con una nueva rama (renombrada)
  2. Cierra el PR antiguo haciendo referencia al nuevo (por ejemplo, Cerrado a favor de # new_pr_id)
  3. Modificar la descripción del nuevo PR (por ejemplo, Reemplaza #old_pr_id)
  4. (opcional) Haga un comentario sobre la discusión relevante sobre el antiguo PR

Nota:

El nombre de una rama remota (que constituye un PR) necesitaba cambiar, porque el sistema de compilación necesitaba el nombre de la rama que termina con el ID del ticket. Sin embargo, el PR se abrió antes de la creación oficial de tickets (de especificaciones), y había contenido una valiosa discusión. El enfoque descrito fue la única manera de hacer que el sistema de compilación funcione, y también de no perder ninguna información (aunque hubo un paso adicional en el seguimiento).

 9
Author: Slobodan Ilic,
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
2018-01-27 20:43:27