2017-06-11 2 views
0

J'ai forké un dépôt sur github, puis je l'ai cloné (cloné le repo maître) pour créer une nouvelle branche sur certains fichiers, puis j'ai ajouté et validé les modifications. Je poussais les modifications apportées à mon repo en forme de fourche viarepousser un commit sur Github

git push "my-remote" "my-branch"

Maintenant, je me rends compte que j'ai fait des changements inutiles et que vous souhaitez engager un seul changement pour une demande de tirage au master. Y a-t-il un moyen de réinitialiser les commits?

Lecture de l'aide, je devrais utiliser git reset --hard HEAD mais je ne suis pas sûr du sens de HEAD

Répondre

2

points de HEAD au dernier vous commettez fait son comme un pointeur. Tapez git log et vous trouverez tous vos commits. Donc, chaque fois que vous utilisez

git reset --hard HEAD

Vos modifications sont poussés l'un commettras en arrière. Méfiez-vous que l'utilisation de --hard signifie que les changements de commit que vous essayez de revenir seront perdus pour toujours.

+0

Mes commits sont les derniers, mais j'ai aussi trouvé des commits faits par des contributeurs .. Je veux être sûr que je fais cela bien. 'git reset --hard HEAD va supprimer le dernier commit sur la date, non? –

+0

@MeriemBen c'est correct, mais je vous exhorte à trouver une méthode non-destructive (il y en a une - je ne me rappelle plus maintenant), donc au cas où vous voulez aller de l'avant, vous pourrez le faire –

+0

Je crois que vous voulez dire "revenir" au lieu de "réinitialiser". Je suis revenu les commits que j'ai faits via git revert puis changé pour une autre branche et utilisé git cherry-pick pour sélectionner seulement un commit à pousser. Merci pour l'aide. –