Re: Restore a single file in the index back to HEAD
On 11/1/06, Junio C Hamano <junkio@cox.net> wrote:
Show 26 quoted lines
> Junio C Hamano <junkio@cox.net> writes:
>
> >> I would prefer "git update-index --reset frotz" or "git checkout
> >> --index HEAD frotz". git ls-tree|git update-index is too cryptic for
> >> me and too long for my fingers.
> >
> > Then perhaps you can use "git checkout HEAD frotz", which is the
> > simplest?
>
> Sorry, Oops.
>
> One should never respond to a message in an ancient thread
> unless one has enough time to revisit previous messages and
> refresh one's memory.
>
> The original topic was about updating the index entry without
> touching working tree, so "co HEAD path" would not do what was
> wanted.
>
> I think at the UI level, the most appropriate place would be
> "git reset". Checkout is a Porcelainish that is primarily about
> working tree and it updates the index as a side effect (from the
> UI point of view); you can update the working tree without
> modifying index or you can update both index and the working
> tree, but updating only index and not working tree does not
> belong there.
Then perhaps git-reset should do "co HEAD path" too if --index is not specified?
To sum up:
- git reset HEAD path -> git checkout HEAD path
- git reset --index HEAD path -> git-ls-files HEAD path|git
update-index --index-info
- git reset HEAD (without path) -> the current behaviour
Because <commit-ish> may be missing, there is some ambiguation here.