381 votes

Comment créer un point de branche à un commit spécifique?

Dans Git, je comprends qu'une branche est un pointeur sur un commit.

Comment faire pointer une branche spécifique vers un commit spécifique? Dites que je veux faire master point à 1258f0d0aae... , comment puis-je faire cela?

519voto

Mark Longair Points 93104

Vous devez être prudent à ce sujet car il se pourrait bien réécrire l'histoire de cette branche - qui permettra de créer des problèmes si vous avez publiés et d'autres personnes travaillent sur la branche. Aussi, l' git reset --hard commande va jeter toutes les modifications non validées (c'est à dire ceux qui viennent dans votre arbre de travail ou de l'indice):

git checkout master
git reset --hard 1258f0d0aae

Vous pouvez également forcer une mise à jour à une branche:

git branch -f master 1258f0d0aae

... mais git de ne pas vous laisser faire cela si vous êtes sur master du temps.

48voto

CharlesB Points 27070
git reset --hard 1258f0d0aae

Mais attention, si le descendant s'engage entre 1258f0d0aae et HEAD ne sont pas référencés dans d'autres branches, ça va être fastidieux (mais pas impossible) de les récupérer, de sorte que vous feriez mieux de créer une "sauvegarde" de la branche au courant HEAD, checkout master, et de réinitialiser le commit que vous voulez.

Aussi, assurez-vous que vous n'avez pas de modifications non validées avant un reset --hard, ils seront vraiment perdu (aucun moyen de les récupérer).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X