Visual Studio 2013에서 Git 통합을 영구적으로 비활성화하려면 어떻게해야합니까?


113

도구 / 옵션 대화 상자를 사용하여 git 통합을 비활성화 할 수 있다는 것을 알고 있지만이 설정이 세션간에 유지되지 않는 것 같습니다. 즉, 솔루션을 닫았다가 다시 여는 즉시 Git 통합이 다시 활성화됩니다. Visual Studio가 내 솔루션 파일 시스템 트리에서 .git 폴더를보고 있다고 생각합니다.

Git 플러그인을 사용할 때 잘못 작동하는 다양한 Visual Studio 2013 플러그인이 있으며, 명령 줄에서 소스 제어를 관리하는 것을 선호하며, Git 통합으로 인해 눈에 띄는 속도 저하가 발생하는 몇 가지 매우 큰 프로젝트에서 작업합니다. 솔루션을 열고 작업 할 때 단순히 사용하지 않거나 필요하지 않기 때문에 영원히 끄고 싶습니다. 이게 가능해?


1
유용 할 수 있음 : 수정을 위해 확장 기능을 비활성화 한 다음 소스 제어 변경 명령 ​​'바인드'기능을 사용하여 소스 제어를 변경했습니다. 자세한 내용은 thereprogram.com/2013/04/18/visual-studio-tools-for-를
톰 커

1
그게 비결입니다. Visual Studio 2013에서는 Git 통합이 확장으로 제공되지 않고 바로 구워졌습니다. 비활성화 할 확장이 없으므로 확장을 비활성화 할 수 없습니다. 우우!
Bryan Porter

자동화 할 수 있을까요?
klumsy

할 수 있지만 자동화를 실행하려면 어떤 트리거를 사용해야합니까? 로드시 실행되는 확장? OOB 기능을 비활성화하는 확장 프로그램을 작성하는 것은 이상합니다.
Bryan Porter

1
우리 팀에도이 문제가있었습니다. 우리가 사용한 트릭은 솔루션을로드하고 git 통합을 비활성화 한 다음 VS를 다시 시작하는 것이라고 생각합니다. SP 1을 설치할 수도 있습니다.
Ade Miller

답변:


90

말했듯이 소스 제어 플러그인을 비활성화 할 수 있습니다.

  • 도구 / 옵션
  • "모든 설정 표시"를 선택하십시오.
  • 소스 제어 / 플러그인 선택
  • "현재 소스 제어 플러그인"을 "없음"으로 설정합니다.

그런 다음 Ade Miller가 말했듯이 Visual Studio를 다시 시작하십시오.

내 Visual Studio는 git 플러깅이 활성화 되었기 때문에 정말 느리게 작동했고이 단계에 따라 "세션간에 지속적으로"비활성화 할 수있었습니다.

도움이 되었기를 바랍니다.


42
VS는 단순히 솔루션을 다시 열 때 GIT를 다시 활성화합니다. 또한 아래에 언급 된 NoGit 확장 기능이 작동하지 않습니다. 흠.
mackenir 2015

나도 같은 문제가있어. VS는 단순히 VS 재시작시 GIT 통합을 다시 활성화합니다. 위에서 설명한대로 이제 수십 번 비활성화했습니다. (계속 돌아옵니다)
Venryx

1
그것은 나에게도 그것을 다시 활성화합니다. 누군가가 시작할 때 비활성화하는 확장 프로그램을 작성했습니다. 미친! stackoverflow.com/questions/22459959/... . 이 링크의 또 다른 해킹은 제공자 dll에 대한 Everyone의 권한을 제거하는 것입니다 : C : \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Microsoft.TeamFoundation.Git.Provider. dll
Sonic Soul

3
팀 탐색기 창을 열면 다시 활성화된다는 것을 알았습니다. 그래서 그 창을 닫고 옵션을 다시 없음으로 설정했습니다. 바라건대 VS가 이것에 대해 다시 "도움"을 시도하지 않을 것입니다.
Sean

로드 된 솔루션이없는 상태에서 소스 제어 플러그인 설정을 Git에서 다시 없음으로 변경했습니다. 그런 다음 Visual Studio (여전히 솔루션 없음)를 다시 시작하고 설정을 확인했으며 이제 Visual Studio Team Foundation Server였습니다. 다시 없음으로 설정하고 VS를 다시 시작했는데 이번에는 멈춘 것처럼 보입니다.
Adrian McCarthy

52

NoGit 확장을 설치할 수없는 Visual Studio 2015에서도 동일한 문제가 발생했습니다. "시작시 마지막 솔루션 열기"옵션을 사용하므로 이것이 문제와 관련이 있다고 생각했습니다.

그래서 "도구-옵션-소스 제어"로 이동하기 전에 솔루션을 닫은 다음 전원을 끄고 VS를 다시 시작하고-짜잔, SC는 꺼진 상태로 유지되었습니다! 다른 솔루션에서도 계속되기를 바랍니다.


2
이것의 천 배. 레지스트리 해킹이나 사용자 지정 확장이 없습니다. 감사 !
driis

1
나는 한 가지로이 결합했다 :이 명령 줄 플래그를 포함하는 내으로 VisualStudio 시작 메뉴의 바로 가기를 업데이트 : /ResetSettings "C:\Users\myuserid\Documents\Visual Studio 2015\Settings\CurrentSettings.vssettings". 명령 줄 참조에 따르면이 설정은 "IDE의 기본 설정을 복원하고 선택적으로 지정된 VSSettings 파일로 재설정합니다." 내 원하는 설정이 항상 적용되도록하는 것 같습니다.
mcw 2015 년

4
감사! 이것은 나를 위해 일했습니다. 또 다른 참고 사항-이 작업을 수행하기 전에 오른쪽 (솔루션 탐색기 옆)의 팀 뷰어 탭을 닫으십시오. 그렇지 않으면 클릭하면 자동으로 다시 활성화됩니다.
ForOhFor

2
VS 충돌 후 남아있는 devenv.exe 프로세스를 종료해야합니다. 그렇지 않으면 CPU 중 하나 이상이 고정되어 있습니다. 그렇지 않으면이 작업을 반복해서 수행 할 수 있으며 고정되지 않습니다. 그러나 그렇게 할 때 너무 행복하고 레지스트리 해킹이 필요하지 않습니다!
Atters

19

나를 위해 다음 명령으로 저장소를 생성하면 문제가 해결됩니다.

git init --separate-git-dir _git

.git 디렉토리를 생성하지 않기 때문에 실제 저장소 디렉토리를 가리키는 .git 파일 만 있습니다. 예 :

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

Visual Studio (적어도 내가 사용하는 VS2015 업데이트 3까지)는 인식하지 못합니다!

Git Extensions (내가 사용하고있는)가이를 지원하는 데 문제가 있었지만 폴더를 .git가리키는 파일을 _git완벽하게 처리했기 때문에 이것은 환경 변수보다 더 잘 작동했습니다 .


동의, 나는 환경 변수를 엉망으로 만들지 않을 것이다. 이것은 잘 작동합니다.
kaveman

나는 약간의 오타 이상이 있음을 추가합니다 옵션입니다--separate-git-dir
kaveman

2
멋진 해결 방법! 감사합니다. VS2013이 .git"저장소에 대한 파일 시스템에 구애받지 않는 Git 심볼릭 링크" 읽기를 구현하지 않았 거나 같은 문제에서 발견했을 것입니다.
KurzedMetal

2
이것은 실제로 전체 답변 체인에 존재하는 가장 간단한 솔루션입니다.
Tarik

1
힌트 주셔서 감사합니다! `NoGit 'Visual Studio 확장은 VS 2017에서 작동하지 않기 때문에 이것이 "git-monitoring"에서 VS 2017을 중지 할 수있는 유일한 방법입니다. :-) 감사합니다! 👍
Ruslan Garipov

11

IDE가로드 될 때마다 VS2015에서 git SCC가 다시 활성화되는 한 가지 이유는 CodeLens입니다. 도구 / 옵션 / 텍스트 편집기 / 모든 언어 / CodeLens TFVS 및 Git과 관련된 다양한 활동에 대한 확인란이 있습니다. 이러한 git 확인란을 선택하면 git repo에서 작업하고 있다고 생각되는 경우 Git 플러그인이 자동으로 활성화됩니다.


소스 제어에서 솔루션을 제거하거나 VS 설치를 손상시키는 것을 제안하지 않는 작업 (나를 위해) 답변.
Evren Kuzucuoglu

이것이 rigth 솔루션입니다.
Juan Pablo Califano

Visual Studio 2017이 소스 제어를 비활성화하는 사소한 일을 재정의하는 것을 보았 기 때문에 이것은 정말 중요합니다. 그러나 그 후에도 VS 2017이 .vs폴더를 만드는 것 같습니다 .
Royi

8

NoGit Visual Studio 확장 은이 동작을 처리합니다.

보너스 : 멋진 설명.


불행히도 VS2013 SP3에서는 더 이상 작동하지 않습니다
thumbmunkeys

VS 2013 업데이트 4를 사용하고 있으며 여전히 잘 작동합니다.
mxmissile

git 통합을 codelens에 표시된 git 정보와 혼동했습니다 ... 설명해 주셔서 감사합니다!
thumbmunkeys 2015

3
2015도 지원하지 않음
Ben Wilde

@BenWilde 새로운 버전은 VS 2015 업데이트 1 일 (여기를 취 github.com/hmemcpy/nogit를 )
루슬란 가리 포프

8

Visual Studio 2015의 경우 CodeLens가 다시 시작한 후 Git 소스 제어 플러그인을 다시 활성화하는 것을 발견했습니다. CodeLens를 비활성화하면이 문제가 해결되었습니다.


이것은 Visual Studio 2017에서 GIT를 비활성화하는 데 중요합니다.
Royi

6

(업데이트 :이 답변은 이제 GIT_DIR 및 GIT_WORK_TREE에 대한 더 깊은 이해를 기반으로 완벽하게 작동하는 솔루션을 제공합니다)

요약 : Git은 .gittfs에서 체크 아웃 한 파일을 사용하여 디렉토리를 작업 디렉토리 외부의 위치 로 이동할 수있을만큼 유연 합니다. 이를 통해 Visual Studio에서 감지 할 수있는 git의 흔적없이 git 저장소로 작동 할 수있는 동안에도 100 % 깨끗한 tfs 체크 아웃을 수행 할 수 있습니다. 핵심은 git dir (git 저장소 저장소)과 작업 트리 (체크 아웃 한 소스 코드)를 분리하는 것입니다.

소스 코드가 체크 아웃되었고 c:\work\someproject\tfscode이미 실행 했다고 가정 해 보겠습니다 git init. 예를 들어 Visual Studio가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 2014 년

이것은 훌륭하지만 \ c \ work \ .. 스타일 대신 c : / work / ... 스타일 경로를 사용합니다.
zumalifeguard 23:04에

6

이것은 Visual Studio 2013 및 2015에서 저에게 효과적이었습니다. Visual Studio를 닫았다가 다시 열어도 지속됩니다.

  1. 솔루션 열기

  2. 도구-> 옵션-> 소스 제어-> 플러그인을 없음으로 설정

  3. Visual Studio를 닫고 관리자 권한으로 아래 명령을 실행합니다.

이동 "C : \ Program Files (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 업데이트 1 :이 후 MSFT TFS 공급자가 작동하지 않음
Ruslan Garipov

... 또는 @John Brett이 제안한 것처럼 CodeLens를 비활성화 할 수 있습니다.
mike

6

Visual Studio 2015에서 Microsoft GitProvider 제거

링크 : 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. Visual Studio 열기

1
이 답변의 개선-다음 reg 파일 적용 Windows 레지스트리 편집기 버전 5.00 [-HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProviders \ {11b8e6d7-c08b-4385-b321-321078cdd1f8}]
Ivan Shakhov

4

이러한 레지스트리 키를 모두 삭제하여 기본 제공 Visual Studio Git 공급자를 비활성화 할 수있었습니다.

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

11b8e6d7-c08b-4385-b321-321078cdd1f8


1
이것은 나를 위해 작동합니다! 감사! 그러나 한 가지 질문이 남아 있습니다. 결국 VS를 업데이트하면 (부 또는 주요 업데이트) 키를 다시 삭제해야합니까?
Ruslan Garipov

4

새로운 NoGit 확장 패키지 사용 : https://github.com/markrendle/nogit/releases/download/1.0.5/NoGit.vsix

Visual Studio 다운로드 및 추가 : /superuser/73675/how-do-i-install-a-vsix-file-in-visual-studio

쉬운.


설치하려면 .vsix 확장자를 .zip으로 수동으로 변경하는 것을 선호했기 때문에 마우스 오른쪽 버튼을 클릭하고 파일을 추출 할 수 있습니다. 그런 다음 새로 추출 된 폴더를 사용자 앱 데이터 폴더 (% appdata % \ Local \ Microsoft \ VisualStudio \ {version} \ Extensions)에 저장하기 만하면됩니다. 그런 다음 Visual Studio를 다시 시작하고 Tools-> Extensions and Updates ...를 연 다음 "NoGit"을 찾아 활성화 한 다음 다시 시작합니다.
Ben Wilde 2015

4

일주일 동안 고통 스러웠고 VS2015에서이 소스 제어 서비스를 어떻게 시작했는지 몰랐습니다. 그러나 그것을 막는 방법을 알게되었습니다. 다음은 VS2019에서 git / any 소스 제어를 분리하는 단계입니다.

VS-> 도구-> 옵션-> 소스 제어-> [현재 소스 제어 플러그인]으로 이동합니다.

시스템 및 없음 옵션에서 가능한 모든 소스 제어를 얻을 수 있습니다. 없음을 선택하면 모든 설정이 완료된 것입니다. None 옵션을 선택한 직후에 내 문제가 해결되고 확인을 누르고 VS를 다시 시작하면 더 이상 소스 제어가 없습니다.


3

모든 VS 솔루션을 닫아야합니다. 하나를 시작하고 Menu \ tools \ options \ Source Control \ Git-> None을 설정하고 메시지가 나타나면이 솔루션을 닫습니다. 이제 다른 솔루션을 열 때 옵션은 "없음"으로 유지됩니다.


1

VS2015는 유휴 상태 일 때 CPU의 50 %를 빨아 들였습니다. 나는 Git을 비활성화하는 것이 해결책이라는 것을 배웠습니다. 불행히도 Git을 비활성화하면 자동으로 다시 활성화됩니다.

제 경우에는 실제로 Git을 사용하고 싶었지만 CPU 사용량이 50 %가 아닙니다.

NoGit 솔루션은 VS2013에서만 사용할 수 있으므로 Git을 사용하지 않는 경우에도 대신 Git Source Control Provider 를 다운로드 할 수 있습니다 . 내 CPU 사용량은 이제 유휴 상태 일 때 50 %가 아닌 2,2 %입니다.


1

Visual Studio의 Git에도 문제가 있지만 마침내 작동하는 솔루션을 찾은 것 같습니다. 지금까지 .git 폴더의 이름을 _git로 바꾸고 "gitdir : _git"줄을 포함하는 .git이라는 텍스트 파일을 추가하는 트릭을 사용했습니다. 하지만 더 이상 작동하지 않는 VS2019로 업그레이드 한 이후.

나는 많은 다른 솔루션을 시도했지만 다른 프로젝트가 아닌 일부 프로젝트에는 Git이 필요하기 때문에 아무도 작동하지 않았습니다. 내 문제 프로젝트는 소스 제어를 위해 회사의 Team Foundation Server를 사용하고 있습니다. 그러나 TFS에서 만든 잘못된 병합으로 인해 코드가 손실되었으므로 TFS를 업데이트하거나 커밋하기 전에 로컬 Git 리포지토리에 변경 사항을 커밋하고 있습니다.

D:\Projects\TFS\.git VS가 사용하지 않아야하는 로컬 git 저장소입니다.

D:\Projects\TFS\ProjectA\$tf VS가 ProjectA에 사용해야하는 TFS 파일.

아무리 노력해도 부모 폴더에서 .git 폴더를 찾았을 때 VS가 ProjectA에 TFS를 사용하도록 할 수 없습니다. 내 해결책은 .git 폴더를 다음으로 이동하는 것입니다.

D:\Projects\TFS-GIT\.git

ProjectA 폴더에 대한 디렉토리 접합을 만듭니다. 관리자 권한 명령 프롬프트를 시작하고 다음을 실행합니다.

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

열기 D:\Projects\TFS\ProjectA\ProjectA.slnVisual Studio에서를 .git 폴더를 찾을 수 없으며 예상대로 TFS에 연결됩니다.

에서 git 명령을 실행 D:\Projects\TFS-GIT하면 .git 폴더도 사용할 수 있다는 점을 제외하고 Visual Studio와 동일한 파일이 사용됩니다. TortoiseGit도이 폴더에서 잘 작동합니다.


0

나는 이것에 대한 해결책을 찾기가 어려웠고, 너무 많은 시도 끝에 그것을 만들었 기 때문에 정확할 수 없습니다. 다른 폴더에서 GitHub Desktop을 사용하여 다른 로컬 저장소를 만듭니다. 이 작업을 완료하고 프로젝트를로드하지 않고 Visual Studio를 엽니 다. 이제 Team Explorer에 두 저장소가 모두 표시됩니다. 몇 가지 작업을 수행해야하는 새 저장소를 선택합니다. 새 저장소가 "활성"저장소이므로이 지점에서 이전 저장소를 "제거"할 수 있습니다. 이 작업을 수행 한 후 이전 폴더에서 .hidden .git * 파일을 제거했습니다. 이제 프로젝트를 열면 이전 저장소가 다시 생성되지 않습니다. 도움이 되었기를 바랍니다.


0

미친 짓이지만 저에게 도움이 된 것은 휴지통을 비우는 것이 었습니다. 비우는 것입니다 (내 솔루션의 원치 않는 .git 폴더가 포함되어 있음).

아직도 믿을 수가 없어 ...


0

"C : \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation"의 이름을 바꿉니다.

VS는 오류를 한 번만 표시하고 정상적으로 작동합니다.


0

이 자식 확장 지옥은 IDE의 모든 것을 느리게 만듭니다 (내 경우에는 VS 2015). 이것을 제거하기 위해 전체 TeamFoundation 폴더를 제거해야했습니다. 단점은 Visual Studio 2015에서 Git 및 TeamFoundation을 사용할 수 없다는 것입니다. 참고 :이 폴더를 다른 곳에 백업하고 필요할 때 복원하십시오.

폴더를 삭제하려면 이렇게했습니다. 올바른 폴더를 삭제하기 위해 수행 한 단계

내가 이렇게 한 이유는 VS 2015가 TeamFoundation 확장에 대해 임의의 폴더 이름을 생성하므로 내 폴더 이름이 귀하의 이름과 다를 수 있기 때문입니다.


-2

도구, 옵션, 소스 제어, 플러그인 선택, 없음


8
Visual Studio 2013은이 변경 사항을 유지하지 않습니다. 다음에 솔루션을 열 때 .git 디렉토리를 감지하면 Git 플러그인을 자동으로 다시 선택합니다. 솔루션이 이미 TFVC에 바인딩 된 경우에도이 작업을 수행합니다.
Mark W Dickson

-4

1) 가까운 솔루션과 비주얼 스튜디오. 2) 솔루션의 디렉토리로 이동하여 숨겨진 git 디렉토리와 2 개의 git 텍스트 파일을 삭제하십시오. 3) Visual Studio를 다시 엽니 다. 4) 도구-> 옵션 및 소스 제어로 이동합니다. 5) 없음을 선택하십시오. 6) Visual Studio를 다시 시작하십시오. 7) 솔루션을 엽니 다. 8) 도구-> 옵션 및 소스 제어로 다시 이동하고 TFS를 선택합니다. 9) 솔루션에서 마우스 오른쪽 버튼을 클릭하여 솔루션에 소스 제어 추가를 선택합니다. 10) tfs를 선택하십시오.


그들은 TFS를 원하지 않으며 전체 로컬 커밋 기록을 지우므로 .git 폴더를 삭제하고 싶지 않습니다. 그들이 요구하는 것은 VS가 해당 폴더를 제거하는 방법이 아니라 .git 폴더의 정보를 사용하는 것을 방지하는 방법입니다.
quetzalcoatl

-5

Tools \ Options \ Source Control을 다시 TFS로 설정합니다. Visual Studio 2015를 닫습니다. 소스 코드의 루트 폴더를 엽니 다. ".git"라는 폴더를 삭제합니다. 재시작.


4
그것은 당신이 op에게 git에서 폴더를 완전히 제거하도록 요청하는 것처럼 들립니다. "명령 줄에서 내 소스 제어를 관리하는 것을 선호합니다"는 그에게 해결책이 될 수 없음을 나타냅니다.
Evren Kuzucuoglu
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.