Matthieu Moy <Matthieu.Moy@xxxxxxx> writes: > You really don't write > > $ git checkout HEAD^ ... > > for the same reason you'd write > > $ git checkout HEAD ... Sorry, now you got me totally confused, and I had to read the above three times but I do not understand what you mean by "for the same reason". Are you saying that "you do not write 'checkout HEAD path' and for the same reason you do not write 'checkout HEAD^ path' either"? Or "you do write 'checkout HEAD path' but the reason you would want to do so is totally different from you would want to write 'checkout HEAD^ path' and there is no similarity"? As I (and anybody who does use the index) often use both "git checkout HEAD paths" and "git checkout paths". The former checks out from the latest commit while the latter checks out from the index. So my first interpretation does not hold --- the form _is_ used often. Because checking out from the HEAD can be written "git checkout HEAD path", it is fairly natural that "get that thing from one rev back" is "git checkout HEAD^ paths". So the second interpretation does not hold either. There is a parallel between the two. > But since "git reset" already accepts partial resets in some > circumstances, I think it makes sense to slightly extend it to allow > partial reset in the case of "git reset --hard HEAD". But how would you explain "git reset --hard HEAD~24 paths"? Does it move HEAD or not (rhetorical: it shouldn't)? - 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