Comment supprimer des commits d’une requête de tirage

J’ai fait une demande de tirage mais après cela, j’ai effectué des commits sur le projet au niveau local, ce qui a fini par polluer ma demande de tirage, j’ai essayé de le supprimer mais sans aucun succès.

J’ai trouvé des questions similaires sur StackOverflow mais je ne peux pas appliquer ce qu’il contient. C’est ma première requête sur GitHub, donc c’est un peu étrange pour moi de savoir comment tout cela fonctionne.

Le commit en surbrillance est celui dont j’ai besoin pour conserver et supprimer tous les autres éléments. Il devient le quasortingème commit de l’histoire parce que je fais des trucs de fusion.

entrer la description de l'image ici

mon journal de bord entrer la description de l'image ici

Quelqu’un peut-il s’il vous plaît expliquer ce qui se passe et comment résoudre ce problème?

Vous avez plusieurs techniques pour le faire.

Ce post-lire la partie sur le retour expliquera en détail ce que nous voulons faire et comment le faire.

Voici la solution la plus simple à votre problème:

 # Checkout the desired branch git checkout  # Undo the desired commit git revert  # Update the remote with the undo of the code git push origin  

La commande revert créera un nouveau commit avec l’ annulation du commit d’origine.

Les gens ne voudraient pas voir un commit erroné et un retour pour annuler les modifications du commit erroné. Cela pollue l’histoire commise.

Voici un moyen simple de supprimer les erreurs commises au lieu d’annuler les modifications avec une validation de retour.

  1. git checkout my-pull-request-branch

  2. git rebase -i HEAD~n // où n représente le nombre de derniers commits à inclure dans le rebase interactif.

  3. Remplacez pick par drop pour les commits que vous souhaitez drop .
  4. Sauvegarder et quitter.
  5. git push --force

Alors faites ce qui suit,

Disons que le nom de votre twig est my_branch et que cela a des commits supplémentaires.

  1. git checkout -b my_branch_with_extra_commits (Garder cette twig enregistrée sous un autre nom)
  2. gitk (ouvre la console git)
  3. Recherchez le commit que vous souhaitez conserver. Copiez le SHA de ce qui est validé dans un bloc-notes.
  4. git checkout my_branch
  5. gitk (Cela ouvrira la console git)
  6. Faites un clic droit sur le commit auquel vous voulez revenir (indiquez vos modifications) et cliquez sur ” reset branch to here
  7. Faire un git pull --rebase origin branch_name_to _merge_to
  8. git cherry-pick

Maintenant, examinez l’historique des validations des twigs locales et assurez-vous que tout semble bon.