Что делает " git checkout ..."?
Я иногда случайно пишу git checkout ..., что приводит меня в отстраненное состояние головы. Мне было интересно, почему. Вот "точечная история":
> git checkout .
# checks out current directory
> git checkout ..
# Checks out parent directory, if in repository.
> git checkout ...
# Puts into detached head state?
> git checkout ....
error: pathspec '....' did not match any file(s) known to git.
1 ответ:
это вырожденная форма этого синтаксиса, описанного в
gitrevisions(7)man page:<rev1>...<rev2> Include commits that are reachable from either <rev1> or <rev2> but exclude those that are reachable from both. When either <rev1> or <rev2> is omitted, it defaults to HEAD.обратите внимание, что последний бит, " когда либо
<rev1>или<rev2>опущено, по умолчанию это HEAD". Это значит, что писать...эквивалентноHEAD...HEAD. При использованииgit checkoutэто заканчивается оценкой идентификатора фиксации HEAD. То есть, вы просто делаете:git checkout HEAD^{commit}
Comments