Re: About detached heads
From: Nicolas Pitre <hidden>
Date: 2016-06-15 22:44:23
On Sat, 15 Mar 2008, Geoff Russell wrote:
The context where I want to use this is for users who update files, can understand "take me back to the state I was in at 4pm yesterday before I mucked up my data" but who don't want to know about merging, branching, topics, etc, etc, But of course having taken them back to the 4pm commit, they then realise that they really need the 6pm commit or perhaps the 3pm commit. So anything which just throws away commits would be risky.
The reflog can help you there as well. You can simply do:
git reset --hard HEAD@{yesterday.at.4pm}
and it'll magically bring you back to the state you were yesterday at
4pm. You need the 6pm state instead? No problem: just ask for
yesterday.at.6pm then.
And before doing the 'reset --hard', you might want to do a simple
'checkout' beforehand so you can be sure it actually corresponds to what
you want:
git checkout HEAD@{yesterday.at.4pm}
[compile, test, whatever]
git checkout HEAD@{yesterday.at.6pm}
[compile, test, whatever]
and when OK with it, then:
# return to your master branch (or any other branch)
git checkout master
# then reset it to the desired state
git reset --hard HEAD@{yesterday.at.6pm}
Nicolas