Re: Undo git-rm without commit?
- From
- Joe Fiorini <joe@faithfulgeek.org>
- Date
- Mar 26, 2008, 06:38 UTC
- Message-ID
- <0535D2B4-0C4A-40D0-879A-7E0C5B3B48E4@faithfulgeek.org>
- In-Reply-To
- <20080326062635.GC26286@coredump.intra.peff.net>
Yeah, it warned me, I wasn't being careful enough. I guess I didn't think it would remove from the working tree, just the repository. My err for not reading the docs until _after_ the mistake. Live & learn. Thanks for the help, opening lost-found/other in TextMate solved my problem quickly!
Thanks again! Joe
On Mar 26, 2008, at 2:26 AM, Jeff King wrote:
Show 33 quoted lines
> On Wed, Mar 26, 2008 at 02:17:18AM -0400, Joe Fiorini wrote: > >> I hadn't done a git-commit yet, but I used git-rm thinking it would >> remove files that I had just added. Instead, it deleted everything >> I had >> added from the disk. Is there a way to undo this? I'm doubtful, but >> would love to not have to rewrite what I was working on. > > If by "added" you mean "git add"ed, then yes. The file is hashed and > the > blob is put in the object database during the add. Unfortunately, > nothing actually _refers_ to it, so you will have to pick it out > manually by its hash. Try: > > git fsck --lost-found > > and then poke around .git/lost-found/other for your missing content. > > As an aside, didn't git-rm warn you? While confirming that the > command I > was giving you was correct, I did this: > > git init > echo content >file > git add file > git rm file > > and got: > > error: 'file' has changes staged in the index > (use --cached to keep the file, or -f to force removal) > > -Peff