Re: Restore a single file in the index back to HEAD
- From
Alex Riesen <raa.lkml@gmail.com>
- Date
- Oct 27, 2006, 09:45 UTC
- Message-ID
- <81b0412b0610270245w6c29b3c3va7967991f53db298@mail.gmail.com>
- In-Reply-To
- <20061027081545.GF29057@spearce.org>
Show 16 quoted lines
>> >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.
Still, it is very impressive, it is supported (and will be supported, I assume), and as such - worth mentioning at least in these examples everyone keeps dreaming about. Until that happened, why not mention that the output of "git ls-tree" is compatible with --index-info of "update-index"?
diff --git a/Documentation/git-ls-tree.txt b/Documentation/git-ls-tree.txt index f283bac..0ab9913 100644 --- a/Documentation/git-ls-tree.txt +++ b/Documentation/git-ls-tree.txt @@ -64,6 +64,8 @@ Output Format When the `-z` option is not used, TAB, LF, and backslash characters in pathnames are represented as `\t`, `\n`, and `\\`, respectively. +This output format is compatible with what "--index-info --stdin" of +git-update-index expects.