Как удалить лишнюю запись GitHub
Как вы можете видеть ниже, из-за неудачной попытки создать репозиторий GitHub у меня теперь есть одна запись WallE в GetHubVisualStudio\WallE
и еще один в GitHubVisualStudio\WallE\WallE
,
Я перепробовал все, что мог придумать, чтобы избавиться от этой дублированной записи. Я даже удалил всю папку и повторно клонировал ее из GitHub, а избыточная запись только что вернулась. Как мне избавиться от этого лишнего?
Обновление: просматривая Process Monitor, похоже, это может быть причиной того, что Visual Studio кэширует расположения репозитория и не дает возможности удалить неправильные записи. Поскольку они переместили записи репозитория из стандартной записи реестра в куст приложения, кажется, что ничего не поделаешь, если не существует редакторов реестра, которые каким-то образом могут получить доступ к кустам приложения.
2 ответа
Удалить файлы из индекса и дерева
Я не знаю вашего инструмента с графическим интерфейсом, но из командной строки (предположим, Cygwin или Git-Bash) вы можете удалить каталог следующим образом:
cd C:/Users/rmorl/Documents/GitHubVisualStudio/WallE
git rm -rf WallE
git commit -m 'Remove duplicate directory tree.'
git push
Очистить рабочее дерево
Если у вас все еще есть проблемы, сначала убедитесь, что у вас есть резервная копия. Затем вы можете посмотреть на включение таких команд:
git ls-files # list files that Git knows about
git clean -fdx # purge working tree of files/dirs not in the Git index
Последние курорты
Если ничего не помогает, установите инструмент, такой как BFG, для выполнения операции в вашем хранилище, а затем принудительно отправьте результат обратно вверх по течению.
Моя вторая теория о том, что это была кэшированная папка в Visual Studio, которая создавала проблему, оказалась верной. Это решение не для слабонервных.:)
- Закройте все экземпляры Visual Studio.
- разместить
privateregistry.bin
, Для меня это было в%LOCALAPPDATA%\Microsoft\VisualStudio\15.0_3c403b8b
, - Запустите regedit.exe.
- Нажмите на ключ, который позволяет загружать собственные ульи, такие как HKEY_USERS.
- Нажмите "Файл", "Загрузить куст" и загрузите
privateregistry.bin
, (Если он не открывается, вам может потребоваться проявить творческий подход. Я решил сделать копию и загрузить ее, а затем скопировать обратно, после чего файл больше не был защищен. Перезагрузка также может быть ответом..) - Перейдите к
Software\Microsoft\VisualStudio\15.0_3c403b8b\TeamFoundation\GitSourceControl\Repositories
, - Удалите все недействительные записи, которые вы найдете там.
- Разгрузите улей, затем выйдите из Regedit.
- Если вам нужно было проявить творческий подход на шаге 5, скопируйте файл поверх оригинала.
При следующем открытии Visual Studio недопустимые записи больше не будут отображаться.