Pour mettre à jour un pull request
Pour mettre à jour une demande d'extraction (point n ° 1), la seule chose que vous devez faire est de la caisse de la même branche de la demande d'extraction, et les pousser à nouveau:
cd /my/fork
git checkout master
...
git commit -va -m "Correcting for PR comments"
git push
Option de Nettoyage à commettre l'histoire
Il peut vous être demandé à la courge votre s'engage afin que le référentiel de l'histoire est propre, ou vous-même souhaitez supprimer intermédiaire qui s'engage à en distraire "le message" votre demande d'extraction (point #2). Par exemple, si votre commit l'histoire ressemble à ceci:
$ git remote add parent git@github.com:other-user/project.git
$ git log --oneline parent/master..master
e4e32b8 add test case as per PR comments
eccaa56 code standard fixes as per PR comments
fb30112 correct typos and fatal error
58ae094 fixing problem
C'est une bonne idée de squash choses ensemble afin qu'ils apparaissent comme un seul commit:
$ git rebase -i parent/master
Il vous invite à choisir la façon de réécrire l'histoire de votre pull request, la suite sera dans votre éditeur de texte:
pick 58ae094 fixing actual problem
pick fb30112 correct typos
pick eccaa56 code standard fixes
pick e4e32b8 add test case as per PR comments
Pour toute validation que vous souhaitez faire partie de la précédente livraison de changement de sélection de la courge:
pick 58ae094 fixing actual problem
squash fb30112 correct typos
squash eccaa56 code standard fixes
squash e4e32b8 add test case as per PR comments
Et fermez votre éditeur. Git va réécrire l'histoire et vous invite à fournir un message de validation pour l'un commit combiné. De modifier en conséquence et votre commit l'histoire va maintenant être concis:
$ git log --oneline parent/master..master
9de3202 fixing actual problem
Poussez-le à votre fourche:
$ git push -f
Counting objects: 19, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (11/11), 978 bytes, done.
Total 11 (delta 9), reused 7 (delta 6)
To git@github.com:me/my-fork.git
f1238d0..9de3202 HEAD -> master
et votre pull request contient un commit, incorporant toutes les modifications précédemment divisée en plusieurs commits.
Changer l'histoire publique repos est une mauvaise chose
Réécriture de l'histoire et à l'aide de git push -f
sur une branche qui, potentiellement, quelqu'un d'autre a déjà cloné est une mauvaise chose, il provoque le référentiel de l'histoire et celui de la caisse à diverger.
Toutefois, la modification de l'histoire de votre fourche pour corriger le changement que vous proposer pour être intégré dans un référentiel est une bonne chose. En tant que tel n'avons aucune réserve à l'écrasement du "bruit" de votre pull requests.
Une note sur les branches
Dans l'au-dessus-je montrer le pull request comme venant de l' master
de la branche de la fourche, il n'y a rien de mal à cela nécessairement, mais il n'est pas sans créer certaines limitations telles que, si c'est votre technique standard, seul être capable d'avoir un PR ouvertes par le référentiel. C'est une bonne idée pour créer une branche pour chaque changement que vous souhaitez proposer:
$ git branch feature/new-widgets
$ git checkout feature/new-widgets
...
Hack hack hack
...
$ git push
# Now create PR from feature/new-widgets