git reflog
покажет вам историю HEAD
. Если удаленная ветка была названа foo
, то в этом выходе вы должны увидеть строки, такие как 48534f5 HEAD@{0}: checkout: moving from master to foo
или 48534f5 HEAD@{1}: merge foo: Fast-forward
. Вы можете выполнить поиск вывода git reflog
, чтобы выяснить, какой фиксатор должен быть последним, на который указывает foo.
Поймите, что сам файл foo reflog удаляется, когда foo был удален, но поскольку рефлектор HEAD отличается, он все еще существует.
Я видел, что это раньше обрабатывало ошибки, например
if(0){
lable1:
//do something
}
if(0){
lable2:
//do something
}
.
.
and so on.
if(condition_fails)
goto lable1;
Это может быть полезно, когда goto используется для управления ошибками, операторы выполняются только, когда ошибка происходит. Я видел это в очень старом C-коде (где аргументы функции записаны вне' ()'), не думайте, что любой следует за этим теперь.