Quoi faire est d'aller sur la contribution de nouvelles fonctionnalités ou de la fixation d'autres bugs dans leurs propres filiales dédiées (poussé seul à la fourche).
Il est plus facile de:
- supprimer votre
fix
de la branche (en fait, il est maintenant supprimé pour vous)
-
git pull upstream master
(si master
a été la branche dans laquelle votre correctif a été intégré: la fusion sera une avance rapide): pas de rebase nécessaires à ce stade.
- recréer un correctif branche sur le dessus de votre mise à jour locale
master
(maintenant avec la dernière de upstream master
).
Cependant, n'oubliez jamais une étape avant de soumettre toute future demande d'extraction:
rebase d'abord votre branche courante (fix
) à partir de l'amont de la destination de la branche
(upstream
originale repo vous avez fourche: voir "Quelle est la différence entre l'origine et en amont de github")
Avant de soumettre quoi que ce soit de l'original de pensions de titres ("en amont"), vous devez vous assurer que votre travail est basé sur le sommet de la plus récente à partir de ladite original repo (ou le pull-request ne se traduira pas par une avance rapide de fusion une fois appliqués sur upstream
repo).
Voir, par exemple, "Workflow pour la gestion des pull requests sur le partage de repos dans github".
En d'autres termes, upstream
peut évoluer (ont les nouveaux commits poussé sur elle) alors que vous êtes occupé des choses de fixation. Vous avez besoin de relire vos corrections sur le dessus de que les travaux les plus récents de l'amont vers assurez-vous que vos commits sont toujours compatible avec la dernière de l' upstream
.
L' OP Santosh Kumar demande dans les commentaires:
J'ai tiré et fusionnées à partir de upstream
de maître, maintenant ce qui?
Si vous n'avez pas à faire de tous les nouveaux correctifs depuis votre récente demande d'extraction, voir ci-dessus (supprimer et recréer une nouvelle branche fix
sur le haut de votre jour master
)
Si vous avez fait plus de travail depuis votre pull request, je n'aurais pas de fusion à partir d' upstream
, si je veux faire une nouvelle demande d'extraction: je tirais et rebase:
git pull --rebase upstream master
De cette façon, tous mes nouveaux locaux de travail est rejoué sur le dessus de la plus récente upstream
master
s'engage (récupéré dans mon local repo), en supposant que l' master
est la branche cible qui permettra d'intégrer mon avenir pull request.
Ensuite, je peux pousser mon travail local à 'origin
", ce qui est mon fork sur GitHub d' upstream
.
Et de mon fork sur GitHub, je peux faire une pull request, sachant qu'il ne fera qu'ajouter les nouveaux commits upstream
sans avoir besoin d'une résolution de fusion: la fusion de ces nouveaux commits en upstream
repo va se traduire par une simple avance rapide de fusion.
Un git pull --rebase
, sans préciser la branche sur laquelle vous souhaitez rebase votre (extrait) fix
de la branche ne fonctionne pas:
Qu' (git pull --rebase
) dit:
You asked to pull from the remote '`upstream`', but did not specify a branch.
Dois-je ajouter le maître à la fin? Et que cela fera?, il va supprimer mon fix
de la branche?
Oui, vous pouvez spécifier la direction générale qui sera la cible de la demande d'extraction, par exemple 'master
'.
Qui ne seront pas supprimer votre fix
de la branche, mais de les relire sur le dessus de l'amont master
récupérés dans votre pension.