Martin Fick <mfick@xxxxxxxxxxxxxx> writes: >>git reflog to the rescue. For your example above it will output >>something like this: >> >>deadbeef HEAD@{0}: checkout: moving from >>92aa5381b9f7229523dba42aa94735c30f173451 to New_Branch >> 92aa5381 HEAD@{1}: commit: Committing this in the Detached Head >>3a5bb38a HEAD@{2}: checkout: moving from master to >>3a5bb38a83c00f7acab573f0ec836577143200aa >> deafbabe HEAD@{3}: ... >> ... >> >>There you see the first line of the commit message from your "lost" >>commit, and you can do >> >> git checkout -b lost_detached_head 92aa5381 >> >>and you get a branch pointing to that commit you made while on >>detached head, and you can work with it as usual. > > While rflog is cool, I can't help but think that git could be even more helpful for these scenarios. Git has been showing a big scary warning when entering detached HEAD, and now has another helpful one when leaving a commit orphan: $ git checkout HEAD^ Note: checking out 'HEAD^'. You are in 'detached HEAD' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at adcbd2f... foo $ date > foo.txt; git add foo.txt; git commit -am "commited on detached HEAD" [detached HEAD 9e9c4ef] commited on detached HEAD 1 files changed, 1 insertions(+), 1 deletions(-) $ git checkout master Warning: you are leaving 1 commit behind, not connected to any of your branches: 9e9c4ef commited on detached HEAD If you want to keep them by creating a new branch, this may be a good time to do so with: git branch new_branch_name 9e9c4efeca049ca559541595c9ca4a3380dee523 Switched to branch 'master' (since 8e2dc6ac06ae90, Junio C Hamano, Fri Feb 18 16:04:47 2011, commit: give final warning when reattaching HEAD to leave commits behind) I think these warnings are (scary and big) enough. -- Matthieu Moy http://www-verimag.imag.fr/~moy/ -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html