2016-11-11 1 views
1

Я пытаюсь проверить филиал, который я проверял с успехом в прошлом, и я больше не могу его проверять. Вот разные сообщения, которые я получаю. Легким решением было бы сбросить мою папку, сделать git init и git clone, но я не хочу перезагружать мою папку git, поскольку я настраивал такие вещи, как git hooks (post-checkout, post-merge и т. Д.). Как я могу заставить это работать снова, не перезагружая все?git checkout failing из-за того, что ветка уже существует

fatal: A branch named 'stage' already exists.

git fatal: reference is not a tree

error: refs/heads/stage does not point to a valid object!

fatal: bad object stage

ответ

1

Способ решить эту проблему в чистом виде, чтобы удалить поврежденную ветвь в .git/refs/heads/your_branch_name.

1

В ветке Гита это просто указатель. Указатель на SHA-1 тока фиксации в отрасли, и эта информация хранится в файле вы просто удалены: .git/refs/heads/<your_branch_name>

Если вы хотите, чтобы убедиться, что ваше хранилище не содержит каких-либо более незакрепленные предметы (dangaling) или ип -следующие ветки проверяют это следующим образом:

git fsck --full 
+0

Я получаю много «болтающихся капель», что мне с ними делать? – vintagexav

+0

Нет ничего, вы можете восстановить «потерянные» данные из этих файлов, если вам это нужно. – CodeWizard

+0

Как их восстановить? – vintagexav

Смежные вопросы