В примере оригинального плаката:
$ git reflog
97df263 [email protected]{0}: commit: I just made my first change to this file. Yay!
4333289 [email protected]{1}: clone: from https://github.com/tswicegood/mysite
[email protected]{n}
просто означает п-е прежнее положение из HEAD
:
В более общем плане, синтаксис <reference>@{n}
это сокращение означает «п-е предварительное положение опорной ветви» /, как я изложить в my answer to What does the “at” @ sign/symbol/character mean in Git?. Таким образом, вы можете использовать этот синтаксис с любым заданием/ветвью, например:
[email protected]{1}
является первым до положения master
отрасли.
origin/[email protected]{1}
является 1-й предшествующей позицией ветви дистанционного отслеживания origin/master
.
Как объяснено в official Linux Kernel Git documentation for specifying Git revisions:
<refname>@{<n>}
, например, [email protected]{1}
Ссылка, за которой следует суффикс «@» с порядковой спецификацией, заключенной в пару скобок (например, «{1}», «{15}»), указывает n-ое предшествующее значение этого ref. Например, «master @ {1}» - это непосредственное предшествующее значение мастера, в то время как «master @ {5}» является пятым предшествующим значением мастера.Этот суффикс может использоваться только сразу после имени ref, и ref должен иметь существующий журнал («$ GIT_DIR/logs /»).
Изучите руководство '' gitrevisions (7) 'manual (https://www.kernel.org/pub/software/scm/git/docs/gitrevisions.html), в котором объясняются все эти' '' и '^' забавные символы. – kostix
Возможный дубликат [В чем разница между ~ и^в git] (http://stackoverflow.com/questions/14733687/whats-the-difference-between-and-in-git) – kostix
@kostix Почему? Этот вопрос не имеет никакого отношения ни к одному из этих персонажей. ОП задает вопрос о '@ {n}'. – Ajedi32