Éviter les fusionner les livraisons et d'autres s'engage lors de pull request sur GitHub
Je bifurquais un projet sur Github.
Laisser la distance en amont être upstream
et ma télécommande d'un dépôt de origin
.
Mon local master
branche est définie pour suivre la télécommande master
branche.
Puis j'ai ajouté quelques trucs dans les locaux master
, et j'ai fusionné avec l'amont de chaque maintenant et puis.
Pas jusqu'à aujourd'hui quand je veux publier un pull request ai-je trouvé le problème:
la demande d'extraction consiste ceux de fusion s'engage, et ceux indésirables s'engage que je l'ai fait précédemment, sans soins. Cependant, ce que je veux, c'est juste pour présenter le dernier commit, je ne, qui doit être tiré comme un seul commit.
Que puis-je faire pour sauver ce?
Vous devez vous connecter pour publier un commentaire.
Au lieu de les fusionner vous voulez rebase. Vous pouvez le faire manuellement, ou automatiquement lors de l'extraction.
Une fois que vous avez commencé à faire des fusions cela va être dur à faire, vous aurez besoin de réinitialiser le branche à l'avant vous avez une fusion commettre.
Si je comprends bien votre question, vous voulez vous débarrasser de niveau intermédiaire/jetable s'engage à ce que vous avez fait dans votre branche. Essayez quelque chose comme ceci:
cela devrait vous donner un local "pour-en amont" de la branche qui contient juste en amont de maître + votre 1 commit. Vous pouvez ensuite soumettre cette branche de pull request
git checkout -b ...
et pasgit branch -b ...
(à changer et je vais jusqu'-vote, c'est ici la réponse)Sur Github, Vous ne pouvez pas créer une pull request pour un seul enregistrement sur une branche qui a de multiples archivages qui la sépare de l'amont.
Créer une branche spécifiquement pour chaque demande de pull vous l'intention de faire. Cela vous permet de continuer à travailler sans crainte de polluer une pull request.
Serait-ce de travailler:
Créer une branche séparée avec juste le commit que vous voulez et émettre un pull request sur cette branche.
Cela ressemble à une réponse à votre question dans la section "mise à Jour 2011-04-15" du sujet):
De Git et rebase vs fusion questions
Michée décrit la technique de squash fusionne qui vous permettent de fusionner les changements de votre branche comme un seul commit sur la branche master.