Видаліть зіставлення git у Visual Studio 2015


157

Це питання не має нічого спільного з самим git; скоріше, це пов’язано з видаленням прив'язки / відображення до сховища git, яке Visual Studio 2015 (VS2015) раніше бачив.

Ось знімок екрана проблеми: Кнопка видалення є сірою

Зауважте, що кнопка видалення є сірою (відключена). Як я можу видалити цей запис зі списку "Local Git Repositories"?


Це легко з неопублікованих в даний час випуску NoGit см stackoverflow.com/a/33789257/2284031
Бен Wilde

Додаючи нове рішення, зверніть увагу, що "Додати в git Repository" не перевіряється внизу праворуч
Iman

1
Жодна з наведених нижче відповідей не працює для мене. Тому я просто використав вирішення: закрийте Studio, перейменуйте папку .git на будь-яке ім’я, наприклад .git1, відкрийте Studio, перейменуйте папку git назад у .git. Пам'ятайте, що для того, щоб вказати ім'я папки, починаючи з крапки в Windows, вам потрібно додати додаткову крапку в кінці імені, тобто ".git1."
бруха

Відповіді:


210

Рішення набагато простіше, ніж це. Вам просто потрібно видалити три файли з проекту UNC Path.

Перейдіть до UNC Шлях вашого рішення.

Приклад: C: \ Користувачі \ Ваше ім'я користувача \ Документи \ Visual Studio 2015 \ Проекти \ Ваша папка проекту

Потім назавжди видаліть ("SHIFT + DEL") .git*файли та папку. Є два файли та одна папка, які можуть бути прихованими, тому переконайтеся, що у вас вибрані папки та параметри пошуку> Перегляд> показ прихованих файлів, папок та накопичувачів (кнопка радіо).

Файли, які потрібно назавжди видалити:

.gitignore (файл)

.gitattributes (файл)

.git (папка)

Відкрийте візуальну студію і більше немає ніякого відношення до керування джерелами Git. Якщо ви хочете віднести його до того, як вилучити його з реєстру, як було зазначено вище, ви могли б, але це не повинно бути осторонь "домашнього зберігання" вашої машини.


2
+1. На мій досвід, гра з реєстром, здається, не надто добре працює. Я зробив це після копіювання свого проекту в інше місце (vm в локальний) і після видалення .gitignore, .gitattributes і .git, це і зробило трюк.
cr1pto

42
-1 Це не видаляє відображення git у VS, це видалення самого сховища git. Причина, по якій VS перестає відображатись за допомогою цих кроків, - це те, що ви здули репо. Що з людьми, які хочуть використовувати git, але не хочуть, щоб VS залучався? Це запитувала ОП.
Роб Левін

5
@Richard_D - в основному - якщо ви використовуєте git стандартним способом, то ця папка .git - це git. Це і ваша локальна копія всього, що є на вашому upit git-сервері, і, ймовірно, є єдиною копією будь-яких створених вами локальних гілок, але не висунуто. Багато людей використовують git з командного рядка або такі інструменти, як SourceTree і не хочуть використовувати інтеграцію git у VS. У цьому випадку все, що ми хочемо, - це відключити підтримку git у VS, а не насправді підробляти нашу локальну установку git. Це має більше сенсу, чи я неправильно зрозумів вашу стурбованість?
Роб Левін

4
Це жахлива ідея. На думку теж приходить кримінально недбалий. Переможець безпеки - це ще один. Це не видаляє жодне відображення, це видалення самого сховища.
Панайотис Канавос

2
У моєму випадку це спрацювало чудово. Помилково я спробував додати проект до управління джерелами, і він дещо як розмістив його у сховищі GIT локально. Це визначає мету управління джерелом, тому що якщо диск накопичується, я втрачаю все. Я спробував підключитися до TFS, і він продовжував дефолт повернутися до GIT. Видаливши всі файли GIT та повторно відкривши VS, мені це прекрасно працювало. +! добрий сер!
логіксолог

59

Інструменти -> Параметри -> Контроль джерела -> Плагін управління поточним джерелом: Ні


4
Це справжня відповідь - в моєму випадку, хоча я завжди користувався Team Foundation Server для контролю версій. Схоже, Microsoft натискає на Git - це не подобається.
Олексій Шевельов

Це просто закриває проект і вимикає контроль над джерелами у візуальній студії. Наступного разу, коли ви відкриєте проект, інтеграція git буде відновлена.
Skye MacMaster

40

Коротка версія

  1. Видаліть відповідний запис (y | ies) під 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 з вікна провідника команди, коли опція «Видалити» завжди відключена?

Видалити прив'язку 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 - відповідь спіралі не знімає відображення VS на git, воно знищує саму git repo, що, як видається, не задається ОП. Злом реєстру не є ідеальним, але, принаймні, він намагається вирішити фактичну проблему "Я використовую git repo, але не хочу, щоб VS залучався"
Роб Левін

Я бачу, що це відповідає на питання ОП, але це правильна відповідь? Я не впевнений. Будь ласка, дивіться мої запитання у відповіді @ Helix. Дякую Роб, цінуй ваше розуміння.
cr1pto

1
VS2015 просто відновлює ці записи реєстру при наступному відкритті рішення.
Аміт G

1
Розробникам не варто побоюватися редагування реєстру Windows. Особливо, коли це очевидно ключ Visual Studio! Видалення каталогу .git не є для мене варіантом.
0xF

21

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

На екрані екрана присутній лише одне сховище, і воно активне, тому його неможливо видалити.

Якщо у вас є два або більше сховища, одне з них буде показано BOLD, що представляє активне сховище. Інші неактивні сховища можуть бути видалені на той час.

Отже, щоб вирішити вашу проблему, якщо ви підключитесь до другого локального сховища, ви зможете видалити той, який ви виділяєте, на екрані екрана.

На жаль, здається, що Провідник Team завжди підтримує одне сховище активним. Не знаєте, як переконати його взагалі відпустити, не переходячи до іншого сховища.


Але як "підключитися" до інших сховищ? Схоже, що коли VS працює на репо, це не дозволяє вам підключитися до іншого, використовуючи ту ж саму опцію "Додати до контролю сортування" у меню провідника рішень. (nvm видалення .git та інших git-файлів із рішення dir працювало на мене.)
Грам

@Gram. У розділі Локальні сховища Git (див. Знімок екрана OP) ви можете створити "Нове" сховище Git або "Клонувати" існуюче. Якщо ви створюєте нове сховище git, надайте йому шлях на локальному жорсткому диску, а потім натисніть кнопку Створити. Після цього він з’явиться у вашому списку. Двічі клацніть на новому сховищі, і воно буде виділено жирним текстом, а поза кадром стане активним сховищем. У цей момент ви можете видалити інші сховища зі списку.
Кріс К.

Це створює нове місцеве репо, не підключаючи існуючий проект до існуючого репуту github. На жаль, під час другого прочитання я бачу, що видалення - єдине питання. Як підключитися до існуючого - це не частина питання, моя помилка.
Грам

18

Видалення прихованої папки .git працювало на мене.


Це перетворить папку з git checkout у папку. Впевнені, що не слід змінювати мету служби оформлення замовлення, оскільки Visual Studio робить те чи інше.
Крістіан Амарі

Супер пізно, але тобі велике спасибі ... Це повинно було бути одним із найстрашніших і дратівливих ранків за всю мою кар’єру досі, яка дурна функціональність вони вбудували в цю
проблему

11

Наведена відповідь не спрацювала для мене. Записи реєстру будуть автоматично додані автоматично, коли я відкрив рішення у Visual Studio. Я знайшов резолюцію в одному з посилань у відповіді Меттьюса, хоча так досі йому належить відповідь за правильну відповідь.

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

Видаліть приховану .gitпапку в папці рішення.

Я також видалив файли .gitattributesта .gitignoreфайли просто, щоб зберегти чисту папку.


2
Це не користь, якщо ви хочете, щоб проектом керував git, а не через Team Explorer. Я особисто вважаю, що Team Explorer обмінюється моїм використанням Git через інший плагін VS, що зовсім небажано.
Генрі Вілсон

Це не видаляє додаток git з VS. VS продовжує бити кущ Git і це обтяжує.
IАнотація

@IAbrief Запитання не вимагає видалити додаток git з VS.
Gene S

@Henry Wilson Схоже, що ваш коментар має відношення до питання. Моя відповідь видаляє прив'язку / відображення з Visual Studio. Це працює для мене і явно працює для інших.
Gene S

1
Це цілком актуально для питання! ОП не вказує, використовує він git для контролю джерел чи ні, він просто хоче знати, як позбутися зв'язування в VS. Видалення папки .git та файлів .gitattributes / .gitignore передбачає, що ви фактично не використовуєте git для контролю джерела, що може бути багатьма людьми.
Генрі Вілсон

9

Розширення NoGit просто приховує проблему, вимикаючи постачальника управління джерелом Git щоразу, коли рішення завантажується. Це робить цю роботу для кожного рішення, завантаженого у Visual Studio.

Я вирішив, відкривши інший проект і видаливши сховище Git з локальних сховищ Git, як запропонував Кріс К. (Перегляд> Команда Explorer> Місцеві сховища Git, виберіть сховище, яке потрібно видалити, і натисніть кнопку Видалити). Потім я видалив папку .git зі шляху проекту, як це запропонував helix. Відновив проект і, нарешті, інтеграції Git вже не було!


Просто видалення папки .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
вільнорозробник

5

Я витратив деякий час, щоб зняти інтеграцію git зі свого проекту візуальної студії 2015. кожного разу, коли я видаляю git з візуальної студії, і додаю TFS, дотримуючись цього - Інструменти -> параметр -> sourceControl -> вибір плагінів -> Сервер фундаментальної програми Visual Studio Team, він раніше повертався.

Моє рішення було -

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

тоді я видалив приховану папку .git та будь-які інші файли, що стосуються .git.

то я намагаюся інструменти -> параметр -> sourceControl -> вибір плагінів -> сервер основи Visual Studio Team. тоді я відкриваю проект за допомогою візуальної студії - Файл -> відкрити -> проект / рішення ..

після цього я помітив у провіднику рішень, клацнувши правою кнопкою миші на ім'я рішення, дивіться опцію "Управління джерелом", а також в проекті - клацніть правою кнопкою миші, я бачу "Додати суті до джерела управління" .. і цього разу він не додав рішення до git. .

також добре видалити будь-яке з'єднання git зі свого джерела керування джерелом .. якщо є якесь ..

тому головне - переконайтесь, що у вашому файлі проекту немає прихованого файлу git та будь-якого іншого розширення git .. сподіваюся, це комусь буде корисно ..


2

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

Видалити

пункт меню увімкнено, щоб ви могли видалити локальний сховище Git .

Це той самий тип поведінки при роботі з відділеннями під час використання Git з візуальною студією 2015. Ви повинні вибрати іншу гілку, перш ніж ви зможете видалити гілку, яку хочете видалити.

Для тих, хто потребує візуалізації, щоб краще зрозуміти це. дивіться зображення посилання: як це робиться

Щасливе кодування


1

Він просто шукає наявність каталогу .git у папці рішення. Видаліть цю папку, можливо, приховану, і Visual Studio більше не вважатиме це git-проектом.


Це тому, що якщо ви його видалите, це вже не проект git . Ви фактично знищили свою версію. Якщо це ви хочете зробити, добре.
gliljas

Саме це я і хотів зробити. Visual Studio вирішив закінчити термін дії моєї 30-денної ліцензії, оскільки я додав її до контролю джерела. Залишив мій проект у заплутаному стані, і я не зміг дотримуватися документації.
Натан іде

1

Підключіться до іншого сховища (я спробував із сховищем TFS), потім перейдіть до розділу "Керування підключеннями", клацніть правою кнопкою миші сховище Git і ви зможете його видалити.

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


1

@Matthew Kraus Будь ласка, клацніть інструменти на панелі меню, потім натисніть Опції, Знайдіть елемент управління та виберіть зі спадного списку "Ні" та натисніть кнопку ОК. Видаліть приховану папку .git зі своєї папки проекту. Відкрийте свій проект. введіть тут опис зображення


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 приховану папку працює для мене

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.