#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.