Re: Restore a single file in the index back to HEAD

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

 



Andreas Ericsson <ae@xxxxxx> wrote:
> Shawn Pearce wrote:
> >Andy Parkins <andyparkins@xxxxxxxxx> wrote:
> >>However, it led me to wonder what the inverse of git-update-index is.
> >
> >git-update-index  :-)
> >
> >You can use something like:
> >
> >    git ls-tree HEAD oops/file1 | git update-index --index-info 
> >
> >to restore the index state of oops/file1.
> >
> >
> >Which leads us to the always interesting, fun and exciting:
> >
> >    git ls-tree -r HEAD | git update-index --index-info 
> >
> >which will undo everything except 'git add' from the index, as
> >ls-tree -r is listing everything in the last commit.
> >
> 
> ... and also shows The Power of the Pipe, which Daniel@google was 
> missing in recent versions of git. ;-)
> 
> Btw, this is most definitely not a documented thing and requires a bit 
> of core git knowledge, so perhaps the "shell-scripts were good for 
> hackers to learn what to pipe where" really *is* a very important point.

Agreed.

I learned that trick while studying the update-index source code
and tried to wrap my tiny little head around the various formats
--index-info accepts and how that code automatically guesses the
correct format.  :-)

Though I have to admit I wipped up a little test repository just
to make sure what I was writing in the email worked properly;
I can't say I've done it myself too many times in the past...

-- 
Shawn.
-
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]