Удалить отображение git в Visual Studio 2015

157

Этот вопрос не имеет никакого отношения к самому git; скорее это связано с удалением привязки / сопоставления с git-репозиторием, которое Visual Studio 2015 (VS2015) ранее видело.

Вот скриншот проблемы: Кнопка удаления неактивна

Обратите внимание, что кнопка удаления неактивна (недоступна). Как я могу удалить эту запись из списка "Local Git Repositories"?

Мэтью Краус
источник
Это легко с неопубликованным в настоящее время выпуска NoGit см stackoverflow.com/a/33789257/2284031
Бен Wilde
При добавлении нового решения обратите внимание, что «add to git Repository» не отмечен в правом нижнем углу
Iman
1
Ни один из ответов ниже не работает для меня. Поэтому я просто использовал обходной путь: закройте Studio, переименуйте папку .git с любым именем, например .git1, откройте Studio, переименуйте папку git обратно в .git. Помните, что для того, чтобы дать имя папки, начинающееся с точки в Windows, вам нужно добавить дополнительную точку в конце имени, то есть «.git1».
Бруха

Ответы:

210

Решение гораздо проще, чем это. Вам просто нужно удалить три файла из проекта UNC Path.

Перейдите к пути UNC вашего решения.

Пример: C: \ Users \ Ваше имя пользователя \ Documents \ Visual Studio 2015 \ Projects \ Папка вашего проекта

Затем навсегда удалите («SHIFT + DEL») .git*файлы и папки. Существует два файла и одна папка, которые могут быть скрыты, поэтому убедитесь, что у вас есть папки и параметры поиска> Вид> показать скрытые файлы, папку и диски (переключатель).

Файлы для окончательного удаления:

.gitignore (файл)

.gitattributes (файл)

.git (папка)

Снова откройте Visual Studio, и связь с Git Source Control больше не будет. Если вы хотели бы удалить его из реестра, как упомянуто выше, вы могли бы, но это не должно быть необходимым, кроме «домашнего хозяйства» вашей машины.

спираль
источник
2
+1. По моему опыту, игра с реестром, кажется, не работает слишком хорошо. Я сделал это после того, как скопировал свой проект в другое место (vm в локальный) и после удаления .gitignore, .gitattributes и .git, это помогло.
cr1pto
42
-1 Это не удаляет отображение git в VS, а удаляет само хранилище git. Причина, по которой VS перестает работать с этими шагами, заключается в том, что вы сдули репо. А как насчет людей, которые хотят использовать git, но не хотят вмешиваться VS? Это то, что спрашивал ОП.
Роб Левайн
5
@Richard_D - в основном - если вы используете git стандартным способом, то эта папка .git называется git. Это ваша локальная копия всего, что находится на вышестоящем git-сервере, и, вероятно, также единственная копия любых локальных веток, которые вы создали, но не отправили. Многие люди используют git из командной строки или такие инструменты, как SourceTree, и не хотят использовать git-интеграцию в VS. В этом случае все, что нам нужно, это отключить поддержку git в VS, а не вмешиваться в нашу локальную установку git. Это имеет больше смысла, или я неправильно понял вашу озабоченность?
Роб Левайн
4
Это ужасная идея. На ум приходит и преступная халатность. Победители ремней безопасности - еще один. Это не удаление какого-либо сопоставления, это удаление самого хранилища.
Панагиотис Канавос
2
В моем случае это сработало отлично. По ошибке я попытался добавить проект в систему управления версиями, и он каким-то образом поместил его в GIT-репозиторий локально. Это опровергает цель контроля исходного кода, потому что, если диск сломается, я теряю все. Я пытался подключиться к TFS, и он по умолчанию возвращался к GIT. Удалив все файлы GIT и снова открыв VS, он отлично сработал для меня. +! добрый сэр!
логиксолог
59

Сервис -> Параметры -> Контроль источника -> Подключаемый модуль управления текущим источником: Нет

Brontomania
источник
4
Это реальный ответ - в моем случае, хотя у меня всегда есть пользователь Team Foundation Server для контроля версий. Похоже, Microsoft продвигает Git - не нравится.
Алексей
Это просто закрывает проект и отключает контроль исходного кода в visual studio. В следующий раз, когда вы откроете проект, интеграция с git будет включена.
Скай Макмастер
40

Укороченная версия

  1. Удалите соответствующий ввод (лет) под HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Удалить, HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositoryесли он совпадает с репо, который вы пытаетесь удалить.

Задний план

Кажется, Visual Studio отслеживает все репозитории git, которые он видел. Даже если вы закроете проект, который ссылался на репозиторий, старые записи все равно могут появиться в списке.

Эта проблема не является новой для Visual Studio:

VS2013 - Как удалить локальный репозиторий git из окна Team Explorer, когда опция Remove всегда отключена?

Удалить привязку Git из решения Visual Studio 2013?

Все это кажется большой работой для чего-то, что должно быть встроенной функцией. Вышеупомянутые «решения» упоминают внесение изменений в файл .git и т. Д .; Мне не нравится идея менять вещи вне Visual Studio, чтобы влиять на вещи внутри Visual Studio. Хотя мое решение должно внести несколько изменений в реестр (и является внешним по отношению к VS), по крайней мере, они влияют только на VS. Вот обходной путь (читай: хак):

Подробные инструкции

Обязательно закройте Visual Studio 2015 перед выполнением следующих действий.

1. Откройте regedit.exe и перейдите к

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories

Regedit репозитории для VS

Вы можете увидеть несколько значений «хэш», которые представляют репозитории, которые отслеживает VS.

2. Найдите репозиторий git, который вы хотите удалить из списка. Посмотрите на nameи pathзначениях для проверки правильного хранилища для удаления:

подтвердить репо для удаления

3. Удалите ключ (и соответствующие подразделы).

(Необязательно: перед удалением вы можете щелкнуть правой кнопкой мыши и выбрать « Экспорт», чтобы создать резервную копию этого ключа на случай, если вы допустили ошибку.) Теперь щелкните правой кнопкой мыши на ключе (в моем случае это AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9и выберите « Удалить» ).

4. Убедитесь, что LastUsedRepositoryключ указывает на «что-то еще».

Если отображение репозитория, которое вы пытаетесь удалить на вышеуказанных этапах, сохранено LastUsedRepository, вам также потребуется удалить этот ключ. Сначала перейдите к:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General

расположение общего ключа

и удалите ключ LastUsedRepository(ключ будет заново создан VS при необходимости). Если вас беспокоит удаление ключа, вы можете просто изменить значение и установить для него пустую строку:

удалить последний использованный репо

При повторном открытии Visual Studio 2015 привязка git-репозитория больше не должна появляться в списке.

Мэтью Краус
источник
Я не думаю, что играть с реестром - это хорошая идея ... если это сработало, круто, но по моему опыту это не самая безопасная ставка. Смотрите ответ @ helix для более безопасного решения.
cr1pto
3
@Richard_D - ответ helix не удаляет сопоставление VS с git, он уничтожает само git-репо, а это не то, о чем, по-видимому, просит OP. Взлом реестра не идеален, но, по крайней мере, он пытается решить реальную проблему: «Я использую git-репо, но не хочу, чтобы VS вмешивался»
Роб Левайн
Я вижу, что это отвечает на вопрос ОП, но правильный ли это ответ? Я не уверена. Пожалуйста, смотрите мои вопросы в ответе @ Helix. Спасибо, Роб, ценю твою проницательность.
cr1pto
1
VS2015 просто восстанавливает эти записи реестра при следующем открытии решения.
Амит Г
1
Разработчики не должны бояться редактирования реестра Windows. Особенно, когда это, очевидно, ключ Visual Studio! Удаление каталога .git не вариант для меня.
0xF
21

Git-репозиторий можно удалить из списка локальных Git-репозиториев в VS-2015, когда он больше не является активным проектом.

Ваш снимок экрана имеет только один репозиторий, и он активен, поэтому вы не можете удалить его.

Если у вас есть два или более репозитория, один из них будет выделен жирным шрифтом, представляющим активный репозиторий. Другие неактивные репозитории могут быть в это время удалены.

Таким образом, для решения вашей проблемы, если вы подключитесь ко второму локальному репозиторию, вы сможете удалить тот, который выделен на снимке экрана.

К сожалению, Team Explorer, похоже, всегда поддерживает активный репозиторий. Не уверен, как убедить его вообще отпустить, не переключаясь на другой репозиторий.

Крис С.
источник
Но как вы «подключаетесь» к другим репозиториям? Кажется, что когда VS находится в репо, он не позволяет вам подключиться к другому, используя тот же параметр «Добавить в Sorce Control» в меню обозревателя решений. (nvm удаление .git и других файлов git из решения dir сработало для меня.)
Gram
@Gram. В разделе Локальные репозитории Git (см. Снимок экрана OP) вы можете создать «Новый» репозиторий Git или «Клонировать» существующий. Если вы создаете репозиторий New git, укажите его путь на локальном жестком диске и нажмите «Создать». После этого он появится в вашем списке. Дважды щелкните новый репозиторий, и он будет выделен жирным шрифтом и за кадром станет активным репозиторием. В этот момент вы можете удалить другие репозитории из списка.
Крис С.
Это создание нового локального репо, а не подключение существующего проекта к существующему репозиторию github. Упс, на втором прочтении я вижу удаление - единственный вопрос. Как подключиться к существующему - не часть вопроса, моя ошибка.
Грамм
18

Удаление скрытой папки .git сработало у меня.

сенсей
источник
Это преобразует папку из git checkout в папку. Конечно, не следует изменять назначение каталога извлечения, потому что Visual Studio делает то или иное.
Кристиан Амари
Очень поздно, но большое спасибо ... Это должно было быть одним из самых разочаровывающих и досадных утр в моей карьере до сих пор, какие дурацкие функциональные возможности они встроили, чтобы справиться с этим ...
haag1
11

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

Удалить привязку Git из решения Visual Studio 2013?

Удалите скрытую .gitпапку в папке ваших решений.

Я также удалил файлы .gitattributesи, .gitignoreчтобы сохранить папку чистой.

Джин С
источник
2
Это бесполезно, если вы хотите, чтобы проектом управлял git, а не через Team Explorer. Лично я нахожу, что Team Explorer портит мое использование Git через другой плагин VS, что совершенно нежелательно.
Генри Уилсон
Это не удаляет надстройку git из VS. VS продолжает бить Git bush и это усугубляет.
IAbstract
@IAbstract Вопрос не просит удалить надстройку git из VS.
Джин С
@ Генри Уилсон Не похоже, что ваш комментарий имеет отношение к вопросу. Мой ответ удаляет привязку / отображение из Visual Studio. Это работает для меня и четко работает для других.
Джин С
1
Это полностью относится к вопросу! ОП не сообщает, использует ли он git для контроля версий или нет, он просто хочет знать, как избавиться от привязки в VS. Удаление папки .git и файлов .gitattributes / .gitignore предполагает, что вы на самом деле не используете git для управления исходным кодом, что вполне может быть для многих людей.
Генри Уилсон
9

Расширение NoGit просто скрывает проблему, отключая поставщика контроля версий Git при каждой загрузке решения. Это делает эту работу для каждого решения, которое загружается в Visual Studio.

Я решил открыть другой проект и удалить репозиторий Git из локальных репозиториев Git, как предложил Крис С. («Просмотр»> «Team Explorer»> «Локальные репозитории Git», выберите репозиторий, который необходимо удалить, и нажмите «Удалить»). Затем я удалил папку .git из пути проекта, как предложено helix. Повторно открыл проект и, наконец, интеграция с Git исчезла!

jeanie77
источник
Просто удалив папку .git и пару файлов .git из папки Solutions, я все исправил. Спасибо всем!
PTansey
8
  1. Перейдите в каталог вашего проекта
  2. Нажмите на папку Меню-> Инструменты-> Параметры папки
  3. Выберите вид-вкладку
  4. В разделе «Файл и папки» выберите «Показать скрытые файлы, папки и диски».
  5. Нажмите ОК
  6. Удалить .gitпапку
  7. Закройте и снова откройте Visual Studio
  8. Откройте свой проект
  9. Готово. :)

Безопасное кодирование.

Родни Годфрид
источник
1
Это НЕ то, что мы пытаемся сделать. Мы хотим git, мы просто не хотим интеграции VS с git.
Джерри
7

Это так просто,

  1. убедитесь, что вы не подключены к проекту, который хотите удалить

  2. проект закрыт в обозревателе решений

    Вот и все, если вы повторите попытку сейчас, действие удаления будет включено

Эрради Мурад
источник
Спасибо. Это самое простое и должно быть выбрано в качестве ответа.
Рональд Рамос
Работает, если вы видите, что опцию удаления продолжайте отключать, закройте и снова откройте Visual Studio. Я использовал его с VS 2017
freedeveloper
5

Я потратил некоторое время, чтобы удалить интеграцию git из моего проекта visual studio 2015. всякий раз, когда я удаляю git из Visual Studio и добавляю TFS, следуя этому - Инструменты -> Опция -> SourceControl -> Выбор плагина -> Фундаментальный сервер Visual Studio Team, он возвращался.

Мое решение было -

Создание физического местоположения моего проекта - Показать все скрытые файлы. Вы можете сделать это, показав скрытые файлы и опцию папок Windows. потом я понимаю, что там была скрытая папка .git что-то. Я сохранил полную резервную копию папки моего проекта, а также папку git для любой другой резервной копии, которая была необходима (я сохранял эту резервную копию на случай перерывов в работе моего проекта, чтобы я мог вернуться к предыдущему состоянию).

Затем я удалил скрытую папку .git и любые другие файлы, связанные с .git.

тогда я пытаюсь Инструменты -> опция -> sourceControl -> выбор плагина -> Visual Studio Team Foundation server. Затем я открываю проект визуальной студии - Файл -> Открыть -> Проект / Решение ..

после этого я заметил в обозревателе решений, щелкнув правой кнопкой мыши имя решения, см. опцию «Управление исходным кодом», а также в проекте - щелкнув правой кнопкой мыши, я вижу «Добавить элемент управления исходным кодом» ... и на этот раз он не добавил решение в git. ,

также хорошо удалить любое git-соединение из проводника управления источниками .. если оно есть ..

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

Мужчина
источник
2

В дополнение к ответу Джулиано Нунеса Сильвы Оливейры , самый простой и чистый способ без взлома regedit, удаления скрытых папок .git или изменения настроек VS15 - это подключение к другому репозиторию. После подключения вы увидите текст другого хранилища, выделенного жирным шрифтом, а затем выберите свой локальный репозиторий Git . Теперь вы видите, что

удалять

пункт меню включен, так что вы можете удалить свой локальный репозиторий Git .

Это тот же тип поведения при работе с ветками при использовании Git с Visual Studio 2015. Вам нужно выбрать другую ветку, прежде чем вы сможете удалить ветку, которую хотите удалить.

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

Удачного кодирования

Куок Нгуен
источник
1

Он просто ищет наличие каталога .git в папке решения. Удалите эту папку, возможно скрытую, и Visual Studio больше не будет рассматривать ее как git-проект.

М Ахмад
источник
Это потому, что если вы удалите его, он больше не будет git-проектом . Вы фактически уничтожили свои версии. Если это то, что вы хотите сделать, хорошо.
Gliljas
Это именно то, что я хотел сделать. Visual Studio решила истечь мою 30-дневную лицензию, когда я добавлял ее в систему контроля версий. Оставил мой проект в состоянии, которое было непонятным, и я не мог следить за документацией.
Натан
1

Подключитесь к другому репозиторию (я пробовал с TFS-репозиторием), затем перейдите в раздел «Управление соединениями», щелкните правой кнопкой мыши репозиторий Git, и вы сможете удалить его.

Но вам все равно придется вручную удалить папку .git и файлы из пути вашего проекта, прежде чем снова открыть решение.

Джулиано Нуньес Сильва Оливейра
источник
1

@ Matthew Kraus Пожалуйста, выберите инструменты в строке меню, затем нажмите «Параметры», найдите «Управление исходным кодом», затем выберите «Нет» в раскрывающемся списке и нажмите «ОК». Удалите скрытую папку .git из папки вашего проекта. Повторно откройте ваш проект. введите описание изображения здесь

Tanvir
источник
0

Зайдите Control Panel\User Accounts\Credential Managerи выберите, Windows Credentialзатем удалите учетную запись git.


источник
0

Загрузите расширение от Microsoft и установите его, чтобы удалить расширение GIT из Visual studio и SSMS.

https://marketplace.visualstudio.com/items?itemName=MarkRendle.NoGit

SSMS: отредактируйте файл ssms.pkgundef, находящийся в C: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ ssms.pkgundef, и удалите все записи, связанные с git

Рамкумар Самбандам
источник
0

Вы не можете удалить локальный репозиторий git, когда он уже подключен. поэтому закройте решение, откройте другое решение и затем удалите локальное хранилище git. не забудьте удалить .git скрытая папка работает для меня

Нетанел Элипаз
источник