Reverting an uncommitted revert

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I had an interesting experience the other day I'd like to share. It is a story of my stupidity plus a bug in the latest version of the Mac OS X 'git gui'.

I had spent several evenings working on a piece of source code. It was basically working, but I hadn't committed anything yet. Yes, I know I should have made a branch and performed incremental commits, but I didn't. This is why I was stupid.

Because of a busy week, it was many days before I could get back to what I was working on. By then, I had forgotten what I was doing, and so I pulled up the handy 'git gui' to show me my diffs.

'git gui' showed me a single whitespace change in the diff. The scroll bar extended from top to bottom in the diff window and wouldn't move. (This is the bug, which is easily reproducible.) I thought, "Gee, that's weird. I thought I'd made more changes." Not wanting the silly whitespace change, I chose Commit->Revert Changes from the menu.

A couple hours later, I was pulling my hair out trying to find the change that I knew, deep down, I had reverted.

I also knew there was no support for putting a reverted change in the reflog, but hey, the reflog has saved me before. I looked. It wasn't there.

So here's the idea: What if Git, upon a revert change (or git reset --hard HEAD), "committed" the changes to be reverted and then did the revert with a 'git reset --hard HEAD^'? The reverted files would be disconnected from a branch, but they would be available in the reflog to retrieve.

Or do I just not 'get it'?

Thanks!

Josh

--
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

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]