[Git] merger dans la douleur , OK … mais bien équipé :)

Sous git, merger n’est pas toujours une action de tout repos. parfois il peut arriver d’oublier un commit dans la nature.

L’histoire commence généralement par un commit sans branche :

> git commit -m "add bugtrack function in generic.mk"

le commit est dans la nature, pour le récupérer comment faire ? Commençons par faire la liste des dernières actions :

> git reflog (q to exit)
...
4f7befc HEAD@{3}: commit: add bugtrack function in generic.mk
...

Puis il suffit de déplacer l’état courant vers ce commit perdu à l’aide de son SHA1 (4f7befc)
git checkout 4f7befc

Pour retrouver ce commit par la suite (pour un merge par exemple …) créons pour finir une nouvelle branche :
git checkout -b commitperdu


Source : http://stackoverflow.com/questions/366093/git-commit-against-tag-with-no-branch

Publicités