Revenir à une fusion s'engager à partir d'une branche protégé sur GitHub.com
Nous avons protégé notre développer la branche sur GitHub afin que personne n'en aval peuvent pousser leur s'engager directement. Les commits besoin de passer par des caractéristiques spécifiques de la branche et sont fusionnés par le biais d'un pull request.
Il est venu un scénario où une branche est fusionné dans le développement de la branche (après un bon examen, et les changements) et nous sommes obligés de revenir plus tard (peut-être en raison de changements dans les exigences). Si j'essaie de rétablir la fusion s'engager en aval, il ne sera pas me permettre de pousser, car la branche est protégé. Je me souviens de GitHub fournir bouton revert lors de la fusion de la direction générale. Mais de toute façon je ne suis pas capable de voir (ou de trouver) le bouton maintenant. Nous avons besoin de revenir à l'engager sur la priorité, c'est pourquoi nous avons retiré la protection de l'élaboration de la branche pour le moment et a poussé le revenir commettre (plus moche hack).
Y a une meilleure alternative pour le rétablissement d'un commit de branche protégé? Peut-être que je suis absent ou mal compris certains GitHub fonctionnalités.
Un scénario plus est, si j'ai supprimé la branche à partir de GitHub après j'ai fusionné, comment pourrais-je revenir?
git revert
et de faire une nouvelle demande d'extraction à partir de l'aval de la branche? git revert
devrait créer un nouveau commit qui est en avance de l'amont de la TÊTEJe ne l'ai pas essayé mais ça semble une des solutions élégantes provenant de l'aval. L'air simple aussi, et là, j'ai été avoir à y penser ce genre de choses!. Existe-il des solutions sur GitHub? que je puisse utiliser, car il est préférable pour les gens à cliquer sur un bouton que de souvenir et de commandes d'écriture.
OriginalL'auteur nak | 2017-03-02
Vous devez vous connecter pour publier un commentaire.
De revenir sur GitHub
Vous n'avez pas besoin de restore (restaurer) branches sur GitHub, pour revenir de fusion s'engage résultant de pull requests. Par exemple:
Non-réversible pull request
Parfois le bouton revert n'apparaît pas. À partir de GitHub de l'Aide sur le rétablissement d'un pull request:
Il m'a fallu un certain temps pour trouver un exemple, mais si la tête de la branche n'était pas fusionnés à la base de la branche à l'aide du gros bouton vert sur GitHub il ne peut pas être revenue sur GitHub:
git revert
Localement sur la ligne de commande, vous pouvez utiliser le
git revert
commande pour annuler les changements.Cela fonctionnera sur votre branche protégé et en aval de la branche.
git revert
crée un nouveau commit en plus de l'actuel CHEF de sorte que vous n'avez pas besoin de la force de pousser, et si à partir d'un aval de la branche, vous pouvez créer manuellement un pull request pour le revenue de changements.Retour à la fusion de livraison est un peu plus compliqué que le rétablissement d'un seul parent s'engager, donc, je vous suggère de jeter un oeil à cette question pour plus d'informations, comme c'est quelque chose que je n'ai jamais fait avant.
Si les gens ne sont pas à l'aise à l'aide de la ligne de commande, je pense que SourceTree a un élément dans le menu contextuel pour revenir à une validation, mais je ne sais pas comment il traite de fusion s'engage. Il y a peut être des options similaires dans d'autres applications graphiques.
Espérons que cette aide!
Réponse très - lié off à la réponse pour le rétablissement d'un commit de fusion - la version que j'ai besoin.
OriginalL'auteur rink.attendant.6