On 24/04/2019 19.16, Junio C Hamano wrote:
> Piotr Krukowiecki <[email protected]> writes:
>
>> I was familiar with "git checkout revision -- file".
>>
>> But it updates both working tree and index. I had some changes in
>> index (staged) and "git checkout HEAD -- file" silently overwritten
>> it. Well, probably my mistake, it's documented.
>
> We'd invite you to live on the leading edge and try
>
> $ git restore --source=<revision> <pathspec>
>
> which by default checks things out only to the working tree, but not
> to the index (you say --staged if you want to restore to the index,
> and you say --worktree if you want to restore to the working tree,
> or you can say both, which would be the same as "git checkout").
>
> I think the new command is now on the 'pu' branch, but in a few
> weeks hopefully it will appear on the 'next' branch.
I'm not in a position to use either of those on at least some of my
systems, but meanwhile, I thought I'd ask this: what is the difference
between this and "git show REF:PATH > PATH", in terms of side-effects.
(I.e., any differences other than looking cleaner, not having to repeat
"PATH" etc.)
thanks
sitaram