Ma demande de tirage a été fusionnée, que faire ensuite?

J’ai récemment participé à un projet de GitHub. J’ai fait ce qui suit:

Forked le repository d’origine, cloné sur mon ordinateur local, créé une twig pour corriger un bogue existant, un bug corrigé se trouvant dans cette twig, poussé cette twig sur mon repository, envoyant une requête pull à l’auteur du référentiel pour fusionner ma twig sa twig principale.

C’était la première fois que je m’engageais sur le code d’un autre, alors je ne sais pas quoi faire. Maintenant, ma demande de tirage a été fusionnée avec le repo / projet original par l’auteur.

Que devrais-je faire ensuite? Dois-je supprimer la twig? Devrais-je fusionner la twig? Rien d’autre?


Information additionnelle:

Le projet d’origine a une seule twig.

J’ai également un ensemble en amont pour obtenir les dernières mises à jour du repository initial. (Je l’ai fait comme ça) :

git remote add upstream https://path/to/original/repo.git 

Et je reçois des mises à jour comme celles-ci:

 git fetch upstream 

Que faire ensuite est de continuer à apporter de nouvelles fonctionnalités ou de corriger d’autres bogues dans leurs propres twigs dédiées (uniquement sur votre fork).

Cela signifie que votre fourche rest, mais les twigs dans votre fourche peuvent aller et venir.

Vous pouvez également supprimer le fork si vous ne prévoyez pas de consortingbuer davantage, mais cela supprimera l’entrée correspondante dans «Référentiels auxquels vous consortingbuez» .

Il est plus facile de:

  • supprimer votre twig de fix (en fait, elle est maintenant supprimée pour vous ) sur votre fork (et dans votre repo local cloné: voir ” Supprimer une twig Git à la fois localement et à distance “)
  • git pull upstream master (si master était la twig dans laquelle votre correctif a été intégré: la fusion sera rapide): pas de rebase nécessaire à ce stade.
  • recréez une twig de correctif au-dessus de votre master local mis à jour (maintenant avec la dernière version du upstream master ).

Cependant, n’oubliez jamais une étape avant de soumettre une demande de tirage future :

rebase d’abord votre twig actuelle ( fix ) depuis la twig de destination en amont

(en upstream étant le repository original que vous avez préparé: voir ” Quelle est la différence entre origine et amont dans github “)

Avant de soumettre quoi que ce soit au repository initial (“en amont”), vous devez vous assurer que votre travail est basé sur le dernier repository dit d’origine (ou que la requête d’extraction n’entraînera pas une fusion rapide une fois appliquée). retour sur le repo en upstream ).
Voir, par exemple, ” Workflow pour la gestion des requêtes d’extraction sur les repos partagés dans github “.

En d’autres termes, l’ upstream peut évoluer (faire de nouveaux commits) pendant que vous êtes en train de réparer des choses. Vous devez relire vos correctifs par-dessus ces derniers travaux en amont pour vous assurer que vos commits sont toujours compatibles avec les dernières upstream .


L’ OP Santosh Kumar demande dans les commentaires :

J’ai tiré et fusionné d’ upstream en maître, et maintenant?

Si vous n’avez pas effectué de nouveaux correctifs depuis votre dernière demande d’extraction, voir ci-dessus (supprimez et recréez un nouveau fix twig par-dessus votre master mis à jour).

Si vous avez fait plus de travail depuis votre requête pull, je ne fusionnerais pas en upstream si je veux faire une nouvelle requête pull: je tirerais et rebase :

 git pull --rebase upstream master 

De cette façon, tout mon nouveau travail local est relu au-dessus des plus récents commits master upstream (récupérés dans mon repo local), en supposant que ce dernier soit la twig cible qui intégrera ma future requête pull.

Ensuite, je peux pousser mon travail local vers « origin », qui est mon fork sur GitHub en upstream .
Et à partir de fork sur GitHub, je peux faire une requête pull en toute sécurité, sachant qu’elle n’appenda que de nouveaux commits en upstream sans nécessiter de résolution de fusion: fusionner ces nouveaux commits dans un repo en upstream signifiera une fusion rapide simple.


Un git pull --rebase sans spécifier la twig au-dessus de laquelle vous souhaitez rebaser votre twig de fix (actuellement extraite) ne fonctionnerait pas:

Cela ( git pull --rebase ) dit:

 You asked to pull from the remote '`upstream`', but did not specify a branch. 

Devrais-je append le master enfin? Et qu’est-ce que cela va faire? Va-t-il supprimer ma twig de fix ?

Oui, vous pouvez spécifier la twig qui sera la cible de la requête pull, par exemple « master ».
Cela ne supprime pas votre twig de fix , mais la relit au-dessus du master amont récupéré dans votre repository.

Tout d’abord, félicitations pour votre première consortingbution à un projet sur Github.

Le workflow Github habituel consiste à créer une nouvelle twig pour chaque problème que vous résolvez. De cette manière, le responsable du référentiel principal peut décider laquelle de vos solutions fusionner et laquelle rejeter. Une fois la twig fusionnée en amont, la twig ne sera plus nécessaire et peut généralement être supprimée.