Ошибка git Visual studio при извлечении удаленной ветки

#git #visual-studio #bitbucket

#git #visual-studio #bitbucket

Вопрос:

Использование интеграции vs2019 с git (с bitbucket) Я получаю сообщение об ошибке при попытке извлечь удаленную ветку. Начинается ошибка:

«Смещение и длина были вне пределов для массива или количества …»

Это произошло, так как у меня возникла проблема, из-за которой vs2019 закрылся во время выполнения push.

Я попытался удалить папку

C:UsersusernameAppDataLocalMicrosoftTeam Фонд x.0 Кэш

Как было предложено здесь: https://developercommunity.visualstudio.com/content/problem/347771/git-create-branch-from-tag-error.html

Я также попытался очистить кэш Visual Studio.

Все еще ошибки.

Я предполагаю, что это связано с тем, что везде, где vs2019 кэширует некоторые данные git для ветвей, которые не соответствуют. Кто-нибудь может предложить, где это будет или решение?

Редактировать:

Я могу создать ветку с помощью sourcetree. Поэтому это не проблема в самом репозитории git. Это некоторый кэш, который используется в visual Studio для чего-то вроде списка ветвей. Каким-то образом он думает, что у него на один больше, чем существует, поэтому, например, он пытается что-то сделать с 9-м, когда в массиве, который он хранит в памяти, всего 8. Если бы у меня был код vs2019, я мог бы отладить это и определить, где эти данные кэшируются.

Комментарии:

1. это похоже на обычное исключение в C #. Чтобы воспроизвести это, необходимо завершить работу приложения в середине работы. Удалось ли повторно выполнить нажатие?

2. Нажатие работает. Похоже, проблема в том, что что-то создает новую локальную ветку

3. Итак, это включает в себя создание новой ветки локально и извлечение новой ветки, верно? Проверка существующей локальной ветки в порядке? И: используя git через CLI, поведение может быть воспроизведено?

4. Я могу проверить существующую ветку. Я могу создать новую ветку за пределами Visual Studio (используя sourcetree ). Поэтому я думаю, что проблема заключается в некоторых кэшированных данных, которые использует Visual Studio. VS2019 переходит к созданию ветки и ищет что-то в массиве. Бам. Записей меньше, чем ожидается, и человек, написавший код, никогда не думал, что это может произойти. Я обновлю вопрос, чтобы попытаться сделать это более понятным.

Ответ №1:

Я не уверен, что не в порядке, но явно что-то было. Если вы получаете эту ошибку, то способ, которым я ее нашел, был:

Я мог бы зафиксировать и нажать ok, поэтому убедитесь, что текущая работа зафиксирована и передана. Удалите все локальные ветки, кроме текущей. Выполните полную перезагрузку для этого: Git Управление ветвями Щелкните правой кнопкой мыши — Сброс Выберите Удалить изменения — Жесткий

У меня было несколько репозиториев, но я знал, к какому из них я был в середине перехода, когда начались проблемы, и мне нужно было сделать это только с этим.

Теперь я могу нажать OK.