Just happened with my team yesterday. We've a relative fresher in our team and he was told to develop a functionality, an important one. He completed all the work in 2 weeks time and we'd to deploy that code that day. I happened to pass by him and was helping him with changes which he'd to do when he pulled the latest version of that branch. He being a newbie did not once commit the code ( not even to local) during that 2 week's time. There was one point where we discussed to undo all the recent changes he made after the pull. Little did I know he has not commited the code ever. I quickly RESET the head and whooopp all his 2 week's effort was gone. We realized if after a while and both were in shock. Now he's developing the functionality from scratch.