Ce qu'il faut faire ensuite est: continuer à apporter de nouvelles fonctionnalités ou à corriger d'autres bogues dans leurs propres branches dédiées (poussées uniquement à votre fourchette).
Cela signifie que votre fourche reste, mais les branches à l'intérieur de votre fourche peuvent aller et venir.
Vous pouvez également supprimer le fork si vous ne prévoyez pas de contribuer davantage, mais cela supprimera l'entrée correspondante dans les «Référentiels auxquels vous contribuez» .
Il est plus facile de:
- supprimez votre
fixbranche (en fait, elle est maintenant supprimée pour vous ) sur votre fork (et dans votre repo local cloné: voir " Supprimer une branche Git à la fois localement et à distance ")
git pull upstream master(si masterétait la branche dans laquelle votre correctif a été intégré: la fusion sera une avance rapide): aucun rebase n'est nécessaire à ce stade.
- recréez une branche de correctif au-dessus de votre locale mise à jour
master(maintenant avec la dernière version de upstream master).
Cependant, n'oubliez jamais une étape avant de soumettre toute future pull request:
rebase d'abord votre branche actuelle ( fix) depuis la branche de destination en amont
( upstreamétant le dépôt d'origine que vous avez forké: voir " Quelle est la différence entre l'origine et l'amont dans github ")
Avant de renvoyer quoi que ce soit au référentiel d'origine ("en amont"), vous devez vous assurer que votre travail est basé sur le dernier en date dudit référentiel d'origine (sinon la demande d'extraction n'entraînera pas une fusion rapide une fois appliquée retour sur upstreamrepo).
Voir, par exemple, " Workflow pour gérer les demandes d'extraction sur les dépôts partagés dans github ".
En d'autres termes, upstreampeut évoluer (avoir de nouveaux commits) pendant que vous êtes occupé à réparer des choses. Vous devez rejouer vos correctifs en plus de ce dernier travail en amont pour vous assurer que vos commits sont toujours compatibles avec le dernier des upstream.
L' OP Santosh Kumar demande dans les commentaires :
J'ai tiré et fusionné de upstreamà maître, et maintenant?
Si vous n'avez pas apporté de nouveaux correctifs depuis votre récente pull request, voir ci-dessus (supprimez et recréez une nouvelle branche fixen plus de votremaster ).
Si vous avez fait plus de travail depuis votre pull request, je ne fusionnerais pas upstreamsi je voulais faire une nouvelle pull request: je tirerais et rebaserais :
git pull --rebase upstream master
De cette façon, tous mes nouveaux travaux locaux sont rejoués en plus des derniers upstream master commits (récupérés dans mon dépôt local), en supposant quemaster c'est la branche cible qui intégrera ma future pull request.
Ensuite, je peux pousser mon travail local vers ' origin', qui est mon fork sur GitHub de upstream.
Et à partir de mon fork sur GitHub, je peux faire une pull request en toute sécurité, sachant que cela ne fera qu'ajouter de nouveaux commits àupstream sans avoir besoin de résolution de fusion: la fusion de ces nouveaux commits dans le upstreamdépôt signifiera une simple fusion rapide.
UNE git pull --rebase sans spécifier la branche au-dessus de laquelle vous souhaitez rebaser votre branche (actuellement extraite) fixne fonctionnerait pas:
Cela ( git pull --rebase) dit:
You asked to pull from the remote '`upstream`', but did not specify a branch.
Dois-je enfin ajouter un master? Et qu'est-ce que cela va faire?fix branche?
Oui, vous pouvez spécifier la branche qui sera la cible de la pull request, par exemple ' master'.
Cela ne supprimera pas votre fixbranche, mais la rejouera en plus de la masterrécupération en amont dans votre dépôt.
:)