Вы бы не работали с обособленным $ git checkout v2.6.18, если это возможно?
Как в:
что ваша последняя фиксация не является главой филиала.
-b
Как упоминалось на HEAD
странице руководства (акцент мой):
Иногда полезно иметь возможность проверять фиксацию, которая не находится на кончике одной из ваших ветвей .
Самый очевидный пример - проверить фиксацию в отмеченной официальной точке выпуска, например:
v2.6.18
Более ранние версии git не позволяли этого и попросили создать временную ветку с использованием этой
-b
опции, но начиная с версии 1.5.0 указанная выше команда отделяет васHEAD
от текущей ветви и непосредственно указывает на фиксацию, названную тегом (git reset --hard $othercommit
в пример выше).Вы можете использовать все команды git в этом состоянии. Например,
вы можете использоватьgit merge $othercommit
для дальнейшего перемещения.
Вы можете вносить изменения и создавать новую фиксацию поверх отдельной HEAD .
Вы даже можете создать слияние, используяgit checkout master
.Состояние, в котором вы находитесь, когда ваш HEAD отсоединен, не регистрируется ни одной веткой (что естественно - вы не находитесь в какой-либо отрасли).
Это означает, что вы можете отменить свои временные коммиты и слияния, переключившись на существующую ветку (напримерgit prune
), а позжеgit gc
или на$ git log -g -2 HEAD
сборщик мусора.
Если вы сделали это по ошибке, вы можете запросить reflog для HEAD, где вы были, например
git commit