web-dev-qa-db-fra.com

Renommer une branche lors d'une demande de tirage

Sur Github, vous pouvez faire des demandes d'extraction pour ajouter des fonctionnalités à un projet. La contribution de chacun doit se faire sur une branche qui, si la demande est acceptée, sera fusionnée dans la branche principale (ou analogue) du projet.

Maintenant, j'ai soumis une demande de pull sur Github et mes contributions sont sur une branche appelée patch-1. Je peux modifier le nom de la succursale localement en

git branch -m patch-1 newname

et en principe, je peux également le renommer sur mon dépôt fourchu sur Github en suivant les instructions trouvées dans cette réponse . Cela se fait en pratique en supprimant l'ancienne branche, patch-1 dans mon cas, et repoussez-le avec un nom différent newname.

Est-il autorisé de renommer la branche patch-1 sur mon dépôt forké sur Github quand il s'agit d'une pull request? Ou cela pose-t-il des problèmes sur la gestion des demandes de tirage?

Existe-t-il un moyen de renommer une branche sur un référentiel forké sur Github lorsque cette branche est une demande d'extraction?

72
Michele

"Renommer" une branche distante dans git, comme indiqué par le lien que vous avez fourni, est en fait simplement supprimer une branche, puis en pousser une nouvelle avec le même hachage de validation mais un nouveau nom. Si une demande d'extraction est ouverte pour le patch de branche 1, lorsque vous supprimez cette branche, la demande d'extraction sera fermée.

Donc, non, vous ne pouvez pas renommer la branche avec une demande d'extraction ouverte sans supprimer la branche et supprimer la demande d'extraction. Cependant, rien ne vous empêche de le faire, de pousser une nouvelle branche avec un nouveau nom et de créer une nouvelle demande d'extraction.

89
arbylee

Réponse courte:

Non

Approche alternative:

  1. Ouvrir un nouveau PR avec une nouvelle branche (renommée)
  2. Fermez l'ancien PR référençant le nouveau (par exemple, fermé en faveur de #new_pr_id)
  3. Modifier la description du nouveau PR (par exemple, remplace #old_pr_id)
  4. (facultatif) Faire un commentaire sur une discussion pertinente sur l'ancien RP

Remarque:

Le nom d'une branche distante (constituant un PR) devait changer, car le système de construction avait besoin du nom de la branche qui se termine par l'ID du ticket. Cependant, le PR a été ouvert avant la création officielle du billet (à partir des spécifications) et avait contenu une discussion précieuse. L'approche décrite était le seul moyen de faire fonctionner le système de génération et de ne perdre aucune information (bien qu'il y ait eu une étape supplémentaire pour le suivre).

19
Slobodan Ilic