Як можна назавжди відключити інтеграцію Git у Visual Studio 2013?


113

Я знаю, що ви можете відключити інтеграцію git, скориставшись діалоговим вікном "Інструменти / Параметри", але те, що я помітив, - це здається, що це налаштування не зберігається протягом сеансів; тобто, як тільки закриєте і знову відкриєте рішення, інтеграція Git знову вмикається. Я здогадуюсь, що Visual Studio бачить папку .git у моєму дереві файлових систем рішення.

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


1
можливо , корисно: Щоб це виправити, я відключив розширення , а потім змінив систему управління версіями з допомогою команди Change Source Control функції «Bind» - більше за адресою: thereprogram.com/2013/04/18/visual-studio-tools-for- git /…
Том Керр

1
У цьому полягає фокус - у Visual Studio 2013 інтеграція Git не передбачена як розширення, вона запечатана прямо. Неможливо вимкнути розширення, оскільки відключення розширення немає. Бу!
Брайан Портер

може, ви могли це автоматизувати?
незграбний

Я міг би, але який тригер я б використав для виконання автоматики? Розширення, яке спрацьовує при навантаженні? Написання розширення для відключення функції OOB здається дивним.
Брайан Портер

1
У моєї команди теж було таке питання. Я думаю, що хитрість, яку ми використовували, - це завантажити рішення, відключити інтеграцію git та перезапустити VS. Ви також можете спробувати встановити SP 1.
Аде Міллер

Відповіді:


90

Як ви сказали, ви можете відключити плагін управління джерелом, перейшовши до:

  • Інструменти / Параметри
  • Поставте прапорець "Показати всі налаштування"
  • Вибір джерела управління / підключення
  • Встановіть "Плагін керування поточним джерелом" на "Немає"

Потім, як каже Аде Міллер: Перезапустіть Visual Studio.

Моя Visual Studio працювала дуже повільно, оскільки ввімкнено підключення git, і мені вдалося відключити її "наполегливо протягом сеансів", виконуючи ці кроки.

Сподіваюся, це допомагає.


42
Я вважаю, що VS просто знову вмикає GIT при повторному відкритті рішення. Крім того, розширення NoGit, згадане нижче, не працює. Хм.
mackenir

У мене така ж проблема. VS просто знову вмикає інтеграцію GIT при перезапуску VS. Зауважте, що зараз я відключив її, як описано вище, десятки разів. (продовжує повертатися)
Венрікс

1
це знову дозволяє це і для мене. мабуть, хтось написав розширення, яке відключає його на початку. божевільний! stackoverflow.com/questions/22459959/… . Ще один хак в цьому посиланні - це видалити дозвіл з усіх для dll постачальника: C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Microsoft.TeamFoundation.Git.Provider. dll
Sonic Soul

3
Я виявив, що відкриття вікна Team Explorer знову ввімкнуло його для мене. Тож я просто закрив це вікно і повернув цю опцію до None. Сподіваємось, VS не спробує знову "допомогти" мені на цьому.
Шон

Не завантажуючи жодних рішень, я змінив налаштування модуля управління джерелом з Git назад на None. Потім я перезапустив Visual Studio (все ще без рішення) і перевірив налаштування, і тепер це був сервер Visual Studio Team Foundation Foundation. Я знову встановив його на None і знову запустив VS, і цього разу він, схоже, застряг.
Адріан Маккарті

52

У мене була така ж проблема з Visual Studio 2015, де розширення NoGit навіть не було дозволено встановлювати. Я використовую варіант "відкрити останнє рішення при запуску", тому я подумав, що, можливо, це якимось чином пов'язане з проблемою.

Тому я просто закрив своє рішення перед тим, як перейти до "Інструменти - Параметри - Контроль джерела", потім вимкнув його, перезапустив VS і - вуаля, SC залишився вимкненим! Сподіваюсь, він залишається таким і в інших рішеннях.


2
Тисяча разів це. Ні злому реєстру, ні спеціального розширення, це працює. Дякую !
driis

1
Я повинен був поєднати це з ще одну річ: я оновив свій VisualStudio меню Пуск ярлик , щоб включити цей прапор командного рядка: /ResetSettings "C:\Users\myuserid\Documents\Visual Studio 2015\Settings\CurrentSettings.vssettings". Відповідно до посилання на командний рядок, це налаштування "Відновлює параметри за замовчуванням IDE, необов'язково скидає на вказаний файл VSSettings". Це, мабуть, забезпечує те, що мої бажані налаштування застосовуються завжди.
mcw

4
Дякую! Це працювало для мене. Ще одна примітка - перед цим обов'язково закрийте вкладку «Переглядач команди» праворуч (поруч із Провідником рішень), інакше вона автоматично ввімкнеться, якщо натиснути її.
ForOhЗ

2
Переконайтеся, що ви знищили відбійний процес devenv.exe, який затримується після збою VS, залишаючи принаймні один із закріплених процесорів, інакше ви можете робити це знову і знову, і він не прилипне. Але такий щасливий, коли це не потрібно, і жодного реєстру не потрібно!
Аттерс

19

Для мене створення репозиторію за допомогою наступної команди вирішить проблему:

git init --separate-git-dir _git

Оскільки він не створює .git каталог , лише .git файл, що вказує на реальний каталог репозиторію, наприклад:

gitdir: C:/tfs/ProjectName/Main/_git

Visual Studio (принаймні до оновлення 3 VS2015, що я використовую) цього не помічає!

Це працювало краще, ніж матеріали зі змінною середовищем, тому що у Git Extensions (що я використовую) були проблеми з підтримкою цього, але відмінно справлявся з .gitфайлом, який вказував на _gitпапку.


Погоджено, я теж не бажаю возитися зі зміною середовища. Це прекрасно працює.
кавеман

Додам, що вище є невелика помилка, варіант--separate-git-dir
кавеман

2
Дивовижне вирішення! Слава богу, VS2013 не реалізував читання цього .git"файлової системи-символічного посилання Git до сховища", або ми знайшли б ту ж проблему.
KurzedMetal

2
Це дійсно найпростіше рішення, яке існує у цілому ланцюжку відповідей.
Тарік

1
Дякую за підказку! Оскільки розширення Visual Studio NoGit не працює з VS 2017, це єдиний спосіб для мене зупинити VS 2017 від "git-monitoring" :-) Дякую! 👍
Руслан Гаріпов

11

Однією з причин повторної активації SCC git у VS2015 кожного разу, коли IDE завантажується, є CodeLens. Інструменти / параметри / Текстовий редактор / Усі мови / CodeLens Існує прапорець для різних заходів, пов’язаних із TFVS та Git - якщо будь-який із цих прапорців Git встановлений, автоматично ввімкне плагін Git, якщо він вважає, що ви працюєте над git repo.


Робота (для мене) відповідь, яка не пропонує усунути рішення з управління джерелом або пошкодити встановлення VS.
Еврен Кузукуоглу

Це жорстке рішення.
Хуан Пабло Каліфано

Це дійсно важливо, оскільки я бачив, що Visual Studio 2017 відміняє тривіальну річ відключення керування джерелами. Але здається, що навіть після цього VS 2017 створює .vsпапку.
Рой

8

Розширення NoGit Visual Studio обробляє таку поведінку.

Бонус: приголомшливий опис.


він більше не працює з VS2013 SP3, на жаль
thumbmunkeys

Я використовую VS 2013 Update 4, і він все ще працює добре для мене.
mxmissle

Я переплутав інтеграцію git з інформацією про git, показаною в codelens ... дякую за пояснення!
thumbkeykeys

3
Не підтримує також 2015 рік
Бен Уайльд

@BenWilde Нова версія працює з VS 2015 Update 1 (візьміть тут: github.com/hmemcpy/nogit )
Руслан Гаріпов

8

Для Visual Studio 2015 я виявив, що CodeLens повторно включив плагін Git Source Control після перезавантаження. Відключення CodeLens виправлено це.


Це важливо, щоб відключити GIT у Visual Studio 2017. Чудовий улов!
Рой

6

(Оновлення. Ця відповідь тепер забезпечує повноцінне рішення на основі глибшого розуміння GIT_DIR та GIT_WORK_TREE)

Підсумок: Git є досить гнучким, що ви можете перемістити .gitкаталог до місця поза робочим каталогом із файлами, перевіреними з tfs. Тоді це дозволяє зробити 100% чисту tfs-касу без будь-яких слідів git, які візуальна студія здатна виявити, поки все ще може керувати нею як репозиторієм git. Ключ полягає в тому, щоб розділити git dir (сховище git сховища) та робоче дерево (ваш перевірений вихідний код).

Скажіть, що ваш вихідний код зареєстрований c:\work\someproject\tfscodeі ви вже запущені git initтам, наприклад, візуальна студія виявляє c:\work\someproject\tfscode\.gitкаталог, і це спричиняє проблеми.

Щоб зробити життя більш благодатним, виконайте наступне:

$ cd /cygdrive/c/work/someproject
$ mv tfscode/.git tfscode.git
$ echo export GIT_DIR=/cygdrive/c/work/someproject/tfscode.git >> env.sh
$ echo export GIT_WORK_TREE=/cygdrive/c/work/someproject/tfscode >> env.sh
$ source env.sh
$ cd tfscode
$ git status
...
$

Це ідеально підходить для візуальної студії, оскільки вона повністю не знає нічого, що зберігається в git.


До речі, git-tf naturaly не любить cygwin шляхи, тому використовуйте, GIT_...=c:/work/...якщо ви плануєте використовувати git tf.
hlovdal

Це чудово, але я хотів би використовувати шлях стилю c: / work / ... замість \ c \ work \ .. стилю.
zumalifeguard

6

Це працювало для мене у Visual Studio 2013 та 2015. Зберігається, навіть якщо ви закриваєте та відкриваєте Visual Studio.

  1. Відкрийте рішення

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

  3. Закрийте Visual Studio і виконайте команду нижче з правами адміністратора.

перемістити "C: \ програмні файли (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Microsoft.TeamFoundation.Git.Provider.dll" "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Microsoft.TeamFoundation.Git.Provider.dll.bak "

VS 2015 Update 1: MSFT TFS постачальник не працює після цього
Руслан Гаріпов

... або ви можете просто відключити CodeLens, як пропонує @John Brett.
Майк

6

Видаліть Microsoft GitProvider з Visual Studio 2015

Посилання: http://researchaholic.com/2015/02/02/remove-the-microsoft-gitprovider-from-visual-studio-2013/

  1. Переконайтесь, що Visual Studio закритий
  2. Відкрити regedit
  3. Перейдіть до HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProviders
  4. Видалити 11b8e6d7-c08b-4385-b321-321078cdd1f8 На панелі деталей слід сказати GitProvider
  5. Відкрити візуальну студію

1
вдосконалення цієї відповіді - застосуйте такий файл reg regitor Editor Editor Version 5.00 [-HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProviders \ {11b8e6d7-c08b-4385-b321-321078cdd1f8}
Іван

4

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

7FE30A77-37F9-4CF2-83DD-96B207028E1B

11b8e6d7-c08b-4385-b321-321078cdd1f8


1
Це працює для мене! Дякую! Але залишається одне питання: Якщо з часом я оновлю VS (роблю незначне чи велике оновлення), чи доведеться знову видаляти ключі?
Руслан Гаріпов

4

Використовуйте новий пакет розширень NoGit: https://github.com/markrendle/nogit/releases/download/1.0.5/NoGit.vsix

Завантажте та додайте до візуальної студії: /superuser/73675/how-do-i-install-a-vsix-file-in-visual-studio

Легко.


Для встановлення я віддав перевагу вручну змінивши розширення .vsix на .zip, щоб потім можна було клацнути правою кнопкою миші та витягнути файли. Тоді все, що вам потрібно зробити, - це помістити нову витягнуту папку у папку даних користувачів програми (% appdata% \ Local \ Microsoft \ VisualStudio \ {версія} \ Розширення). Потім перезапустіть візуальну студію, відкрийте меню Інструменти-> Розширення та оновлення ..., потім знайдіть "NoGit" і ввімкніть його, а потім перезавантажте знову.
Бен Уайльд

4

Це був тиждень біль у спині, і я не знав, як запустив цю службу контролю джерел у VS2015. Але треба знати, як це зупинити. Ось етапи роз'єднання управління git / будь-якого джерела з VS2019.

Перейдіть до VS -> Інструменти -> Опції -> Контроль джерела -> [Поточний плагін управління джерелом]

Ви отримуєте все можливе керування джерелом у вашій системі та параметр None. Якщо ви вибрали «Ніхто», ви все налаштовані. Шахта виправлена ​​відразу після вибору параметра "None", натисніть "ОК" і перезавантажте систему VS і більше немає керування джерелом.


3

Вам потрібно закрити всі рішення VS. почніть один, встановіть Меню \ інструменти \ параметри \ Контроль джерела \ Git -> Ні. Тепер при відкритті будь-якого іншого рішення параметр залишається "None".


1

VS2015 висмоктував 50% мого процесора в режимі очікування. Я дізнався, що відключення Git - це рішення. На жаль, відключення Git лише для того, щоб дізнатися його, автоматично вмикає його знову.

У моєму випадку я насправді хотів використовувати Git, але не з 50% використанням процесора.

Оскільки рішення NoGit доступне лише для VS2013, ви можете замість цього завантажити: Провайдер управління джерелами Git, навіть якщо ви не використовуєте Git. Моє використання процесора зараз 2,2% замість 50% у режимі очікування.


1

У мене також є проблеми з Git у Visual Studio, але я думаю, що нарешті знайшов робоче рішення. До цього часу я використовував хитрість перейменування папки .git в _git та додавання текстового файлу з ім'ям .git, що містить рядок "gitdir: _git". Але після оновлення до VS2019 це вже не працює.

Я спробував безліч різних рішень, але жодне не спрацювало, оскільки мені потрібен Git для деяких проектів, а не для інших. Мій проблемний проект - це використання сервера Team Foundation Server для управління джерелами. Але оскільки я втратив код у поганих злиттях, здійснених TFS, я вношу свої зміни до місцевого репортажу Git перед оновленням або переходом на TFS.

D:\Projects\TFS\.git Місцевий git repo, який VS не повинен використовувати.

D:\Projects\TFS\ProjectA\$tf Файли TFS, які VS повинен використовувати для ProjectA.

Як би я не намагався, я не міг змусити VS використовувати TFS для ProjectA, коли він знайшов папку .git у батьківській папці. Моє рішення - перемістити папку .git у:

D:\Projects\TFS-GIT\.git

і створити з'єднання каталогів з папкою ProjectA. Запустіть підвищений командний рядок і запустіть:

mklink /J D:\Projects\TFS-GIT\ProjectA D:\Projects\TFS\ProjectA

Відкривши D:\Projects\TFS\ProjectA\ProjectA.slnв Visual Studio, він не знайде жодної папки .git і з'єднається з TFS так, як слід.

Запуск команд git від D:\Projects\TFS-GITбуде використовувати ті самі файли, що і Visual Studio, за винятком того, що папка .git також доступна. TortoiseGit також чудово працює з цієї папки.


0

Мені було важко знайти рішення для цього, і я зробив це після стількох спроб, тому я не можу бути точним. Створіть ще одне локальне сховище за допомогою GitHub Desktop в іншій папці. Зробив це, відкрий Visual Studio без завантаження проекту, тепер Team Explorer повинен відображати обидва сховища. Виберіть нове сховище як слід робити деякі операції, на цьому понті ви можете "видалити" ваше старе сховище, оскільки нове - "активне". Після цього я видалив файли .hidden .git * з колишньої папки. Тепер відкриття проекту не призводить до того, що старий сховище буде створено заново. Сподіваюся, це допомагає.


0

Це божевільно, але те, що для мене спрацювало, було спорожнити мій кошик очистити (який містив небажану папку .git мого рішення).

Я досі не можу повірити ...


0

Перейменуйте "C: \ програмні файли (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation"

VS покаже помилку лише один раз і добре працює.


0

Це пекельне розширення git уповільнює все в IDE (VS 2015 в моєму випадку). Мені довелося видалити всю папку TeamFoundation, щоб позбутися цього. Мінус полягає в тому, що ви не зможете використовувати Git та TeamFoundation у Visual Studio 2015. Примітка. Створіть резервну копію цієї папки в іншому місці та відновіть її за потреби.

Щоб видалити папку, я це зробив. Наступні кроки для видалення потрібної папки

Причина, що я зробив це, полягає в тому, що VS 2015 генерує випадкове ім’я папки для розширення TeamFoundation, тож назва моєї папки може бути іншою, ніж ваша.


-2

Інструменти, параметри, контроль джерела, підбір плагінів, немає


8
Visual Studio 2013 не збереже цю зміну. Наступного разу, коли ви відкриєте рішення, він автоматично вибере плагін Git, якщо він виявить каталог .git. Це навіть зробить це, якщо рішення вже пов'язане з TFVC.
Mark W Dickson

-4

1) близьке рішення та візуальна студія. 2) перейдіть до каталогу рішення та видаліть прихований каталог git та 2 текстові файли git. 3) знову відкрити візуальну студію. 4) інструменти goto -> параметри та контроль джерела. 5) виберіть жодного. 6) перезапустити візуальну студію. 7) відкрийте своє рішення. 8) goto tools -> параметри та знову керування джерелом та виберіть TFS. 9) клацніть правою кнопкою миші рішення, щоб вибрати додати керування джерелом до рішення. 10) виберіть tfs.


Вони не хочуть TFS, і вони, звичайно, НЕ хочуть видалити папку .git, оскільки це видалить всю локальну історію фіксації. Вони просять, як запобігти ВС використовувати інформацію з папки .git, а не як очистити цю папку.
quetzalcoatl

-5

Встановіть інструменти \ Параметри \ Керування джерелом назад у TFS. Закрийте Visual Studio 2015. Відкрийте кореневу папку свого вихідного коду. Видаліть папку з назвою ".git". Перезапустити.


4
Це якось схоже на те, що ти просиш оп, щоб повністю видалити папку з git. "Я вважаю за краще керувати своїм джерелом управління в командному рядку", схоже, вказує, що це не було б рішенням для нього.
Еврен Кузукуоглу
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.