Làm cách nào để bạn có thể tắt tích hợp Git trong Visual Studio 2013 vĩnh viễn?


113

Tôi biết rằng bạn có thể tắt tích hợp git bằng cách sử dụng hộp thoại Công cụ / Tùy chọn, nhưng điều tôi nhận thấy là cài đặt này dường như không tồn tại trong các phiên; tức là, ngay sau khi đóng và mở lại giải pháp, tích hợp Git sẽ được bật lại. Tôi đoán Visual Studio đang nhìn thấy thư mục .git trong cây hệ thống tệp giải pháp của tôi.

Có nhiều plugin Visual Studio 2013 hoạt động không chính xác khi plugin Git được bật, tôi muốn quản lý điều khiển nguồn của mình tại dòng lệnh và tôi làm việc trên một số dự án rất lớn mà việc tích hợp Git gây ra sự chậm trễ đáng chú ý. khi mở và làm việc với giải pháp. Tôi muốn tắt nó đi vì đơn giản là tôi không sử dụng hoặc không cần đến nó. Điều này có khả thi không?


1
có thể hữu ích: Để khắc phục, tôi đã tắt tiện ích mở rộng và sau đó thay đổi điều khiển nguồn bằng cách sử dụng chức năng 'Bind' của lệnh Change Source Control - Xem thêm tại: thereprogram.com/2013/04/18/visual-studio-tools-for- git / ...
Tom Kerr

1
Đó là mẹo - trong Visual Studio 2013, tích hợp Git không được cung cấp dưới dạng tiện ích mở rộng, nó được tích hợp ngay. Không thể tắt tiện ích mở rộng, vì không có tiện ích mở rộng nào để tắt. Ụt!
Bryan Porter

có lẽ bạn có thể tự động hóa nó?
klumsy

Tôi có thể, nhưng tôi sẽ sử dụng trình kích hoạt nào để thực hiện tự động hóa? Một tiện ích mở rộng kích hoạt khi tải? Viết một phần mở rộng để tắt một tính năng OOB cảm thấy kỳ lạ.
Bryan Porter

1
Nhóm của tôi cũng gặp vấn đề này. Tôi nghĩ thủ thuật chúng tôi đã sử dụng là tải một giải pháp, vô hiệu hóa tích hợp git và sau đó khởi động lại VS. Bạn cũng có thể thử cài đặt SP 1.
Ade Miller

Câu trả lời:


90

Như bạn đã nói, bạn có thể tắt plugin kiểm soát nguồn đi tới:

  • Tùy chọn công cụ
  • Chọn "Hiển thị tất cả cài đặt"
  • Kiểm soát nguồn / Lựa chọn trình cắm
  • Đặt "Trình cắm kiểm soát nguồn hiện tại" thành "Không có"

Sau đó, như Ade Miller nói: Khởi động lại Visual Studio.

Visual Studio của tôi hoạt động rất chậm kể từ khi cắm git được bật và tôi đã cố gắng vô hiệu hóa nó "liên tục qua các phiên" theo các bước này.

Hy vọng nó giúp.


42
Tôi thấy rằng VS chỉ cần bật lại GIT khi mở lại giải pháp. Ngoài ra, phần mở rộng NoGit được đề cập bên dưới không hoạt động. Hừ!
mackenir

Tôi có cùng một vấn đề. VS chỉ cần bật lại tích hợp GIT khi khởi động lại VS. Lưu ý rằng tôi đã vô hiệu hóa nó như được mô tả ở trên hàng chục lần bây giờ. (nó tiếp tục quay trở lại)
Venryx

1
nó cũng bật lại nó cho tôi. rõ ràng ai đó đã viết một tiện ích mở rộng vô hiệu hóa nó khi bắt đầu. khùng! stackoverflow.com/questions/22459959/… . một thủ thuật khác trong liên kết này là xóa quyền của Mọi người đối với nhà cung cấp dll: C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation \ Team Explorer \ Microsoft.TeamFoundation.Git.Provider. dll
Sonic linh hồn

3
Tôi thấy rằng việc mở cửa sổ Team Explorer đã bật lại nó cho tôi. Vì vậy, tôi chỉ cần đóng cửa sổ đó và chuyển tùy chọn trở lại Không có. Hy vọng rằng VS sẽ không cố gắng "giúp" tôi một lần nữa về vấn đề này.
Sean

Không có giải pháp nào được tải, tôi đã thay đổi cài đặt plugin kiểm soát nguồn từ Git trở lại Không có. Sau đó, tôi khởi động lại Visual Studio (vẫn là giải pháp w / oa) và kiểm tra cài đặt và bây giờ nó là Visual Studio Team Foundation Server. Tôi đặt nó trở lại None một lần nữa và khởi động lại VS một lần nữa, và lần này có vẻ như nó đã bị kẹt.
Adrian McCarthy

52

Tôi đã gặp vấn đề tương tự với Visual Studio 2015, nơi tiện ích mở rộng NoGit thậm chí không được phép cài đặt. Tôi sử dụng tùy chọn "mở giải pháp cuối cùng khi khởi động" vì vậy tôi nghĩ rằng có thể điều này bằng cách nào đó có liên quan đến sự cố.

Vì vậy, tôi chỉ cần đóng giải pháp của mình trước khi chuyển đến "Công cụ - Tùy chọn - Điều khiển nguồn", sau đó tắt nó đi, khởi động lại VS và - thì đấy, SC vẫn bị tắt! Hy vọng nó vẫn như vậy trong các giải pháp khác.


2
Một ngàn lần điều này. Không có hack đăng ký, không có phần mở rộng tùy chỉnh, điều này hoạt động. Cảm ơn !
driis,

1
Tôi đã phải kết hợp này với một điều khác: Tôi cập nhật VisualStudio shortcut menu start của tôi bao gồm lệnh này cờ dòng: /ResetSettings "C:\Users\myuserid\Documents\Visual Studio 2015\Settings\CurrentSettings.vssettings". Theo tham chiếu dòng lệnh, cài đặt này "Khôi phục cài đặt mặc định của IDE, tùy chọn đặt lại thành tệp VSSettings được chỉ định." Điều đó dường như đảm bảo rằng các cài đặt mong muốn của tôi luôn được áp dụng.
mcw

4
Cảm ơn! Điều này đã làm việc cho tôi. Một lưu ý khác - hãy đảm bảo đóng tab Team Viewer ở phía bên phải (bên cạnh Solution Explorer) trước khi bạn thực hiện việc này, hoặc nó sẽ tự động bật lại nếu bạn nhấp vào.
ForOhFor

2
Đảm bảo rằng bạn giết tiến trình chạy đi devenv.exe tồn tại xung quanh sau khi VS bị treo, để lại ít nhất một trong các CPU của bạn được ghim, nếu không bạn có thể làm đi làm lại điều này và nó sẽ không dính. Nhưng thật hạnh phúc khi nó làm được và không cần hack registry!
Atters

19

Đối với tôi, việc tạo kho lưu trữ bằng lệnh sau sẽ khắc phục sự cố:

git init --separate-git-dir _git

Vì nó không tạo một .git thư mục , chỉ một .git tệp trỏ đến thư mục kho lưu trữ thực, ví dụ:

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

Visual Studio (ít nhất lên đến VS2015 Cập nhật 3, đó là những gì tôi sử dụng) không nhận thấy điều đó!

Điều này hoạt động tốt hơn so với công cụ biến môi trường vì Git Extensions (mà tôi đang sử dụng) gặp sự cố khi hỗ trợ điều đó, nhưng xử lý .gittệp trỏ đến một _gitthư mục một cách hoàn hảo.


Đồng ý, tôi cũng không muốn gây rối với những thứ biến môi trường. Điều này hoạt động tốt.
kaveman

Tôi sẽ bổ sung thêm rằng có một lỗi đánh máy nhẹ trên, tùy chọn là--separate-git-dir
kaveman

2
Cách giải quyết tuyệt vời! Cảm ơn chúa VS2013 đã không triển khai việc đọc .git"liên kết tượng trưng Git hệ thống tệp tin bất khả tri tới kho lưu trữ" này, nếu không chúng tôi sẽ tìm thấy cùng một vấn đề.
KurzedMetal

2
Đây thực sự là giải pháp đơn giản nhất tồn tại trong toàn bộ chuỗi câu trả lời.
Tarik

1
Cảm ơn rất nhiều vì gợi ý! Vì tiện ích mở rộng Visual Studio `` NoGit '' không hoạt động với VS 2017 nên đây là cách duy nhất để tôi ngăn VS 2017 khỏi "git-giám sát" :-) Cảm ơn! 👍
Ruslan Garipov

11

Một lý do khiến git SCC được kích hoạt lại trong VS2015 mỗi khi IDE tải là CodeLens. Công cụ / Tùy chọn / Trình soạn thảo văn bản / Tất cả ngôn ngữ / CodeLens Có một hộp kiểm cho các hoạt động khác nhau liên quan đến TFVS và Git - việc chọn bất kỳ hộp kiểm git nào trong số đó sẽ tự động bật plugin Git nếu nó cho rằng bạn đang làm việc trên git repo.


Câu trả lời làm việc (đối với tôi) không đề xuất loại bỏ giải pháp khỏi kiểm soát nguồn hoặc làm hỏng cài đặt VS.
Evren Kuzucuoglu

Đây là giải pháp nghiêm ngặt.
Juan Pablo Califano

Điều này thực sự quan trọng vì tôi đã thấy Visual Studio 2017 ghi đè điều tầm thường là tắt kiểm soát nguồn. Nhưng có vẻ như ngay cả sau đó VS 2017 cũng tạo một .vsthư mục.
Royi,

8

Tiện ích mở rộng NoGit Visual Studio xử lý hành vi này.

Phần thưởng: mô tả tuyệt vời.


Rất tiếc, nó không hoạt động nữa với VS2013 SP3
thumbmunkeys

Tôi đang sử dụng VS 2013 Update 4 và nó vẫn hoạt động tốt đối với tôi.
mxmissile

Tôi đã nhầm lẫn giữa tích hợp git với thông tin git được hiển thị trong codelens ... cảm ơn bạn đã làm rõ!
thumbmunkeys

3
Không hỗ trợ 2015 hoặc
Bến Wilde

Phiên bản @BenWilde mới làm việc với VS 2015 Update 1 (lấy nó ở đây: github.com/hmemcpy/nogit )
Ruslan Garipov

8

Đối với Visual Studio 2015, tôi thấy rằng CodeLens đã bật lại plugin Git Source Control sau khi khởi động lại. Vô hiệu hóa CodeLens đã khắc phục điều này.


Điều này rất quan trọng để tắt GIT trong Visual Studio 2017. Tuyệt vời!
Royi

6

(Cập nhật: Câu trả lời này hiện cung cấp một giải pháp hoạt động đầy đủ dựa trên hiểu biết sâu hơn của tôi về GIT_DIR và GIT_WORK_TREE)

Tóm tắt: Git đủ linh hoạt để bạn có thể di chuyển .gitthư mục đến một nơi bên ngoài thư mục công việc với các tệp đã được kiểm tra từ tfs. Điều này giúp bạn có thể kiểm tra tfs sạch 100% mà không có bất kỳ dấu vết nào của git mà visual studio có thể phát hiện trong khi vẫn có thể vận hành nó như một kho lưu trữ git. Chìa khóa là tách git dir (kho lưu trữ git) và cây công việc (mã nguồn đã kiểm tra của bạn).

Giả sử rằng mã nguồn của bạn đã được đăng xuất c:\work\someproject\tfscodevà bạn đã chạy git initở đó, ví dụ: visual studio phát hiệnc:\work\someproject\tfscode\.git thư mục và điều đó gây ra sự cố.

Để làm cho cuộc sống tốt đẹp hơn, hãy làm những điều sau:

$ 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
...
$

Điều này hoạt động hoàn hảo liên quan đến studio trực quan vì nó hoàn toàn không biết gì về bất kỳ thứ gì được lưu trữ trong git.


Nhân tiện, git-tf tự nhiên không thích các đường dẫn cygwin, vì vậy hãy sử dụng GIT_...=c:/work/...nếu bạn định sử dụng git tf.
hlovdal

Điều này thật tuyệt, nhưng tôi muốn sử dụng đường dẫn kiểu c: / work / ... thay vì kiểu \ c \ work \ ...
zumalifeguard

6

Điều này đã làm việc cho tôi trong Visual Studio 2013 và 2015. Vẫn tồn tại ngay cả khi bạn đóng và mở lại Visual Studio.

  1. Mở giải pháp

  2. Đi tới Công cụ -> Tùy chọn -> Kiểm soát nguồn -> Đặt plugin thành Không có

  3. Đóng Visual Studio và thực hiện lệnh bên dưới với quyền quản trị.

di chuyển "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 Update 1: nhà cung cấp MSFT TFS không hoạt động sau này
Ruslan Garipov

... hoặc bạn có thể vô hiệu hóa CodeLens như @John Brett gợi ý.
mike

6

Xóa Microsoft GitProvider khỏi Visual Studio 2015

Liên kết: http://researchaholic.com/2015/02/02/remove-the-microsoft-gitprovider-from-visual-studio-2013/

  1. Đảm bảo rằng Visual Studio đã đóng
  2. Mở regedit
  3. Điều hướng đến HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProviders
  4. Xóa 11b8e6d7-c08b-4385-b321-321078cdd1f8 Trong ngăn chi tiết, nó sẽ nói GitProvider
  5. Mở Visual Studio

1
cải thiện câu trả lời này - áp dụng tệp reg sau Windows Registry Editor Phiên bản 5.00 [-HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0_Config \ SourceControlProviders \ {11b8e6d7-c08b-4385-b321-321078cdd1f8}]
Ivan Shakhov

4

Tôi đã quản lý để tắt Trình cung cấp Visual Studio Git tích hợp bằng cách xóa tất cả các lần xuất hiện của các khóa đăng ký đó:

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

11b8e6d7-c08b-4385-b321-321078cdd1f8


1
Điều này làm việc cho tôi! Cảm ơn! Nhưng một câu hỏi vẫn còn: Nếu cuối cùng tôi sẽ cập nhật VS (thực hiện cập nhật nhỏ hoặc lớn), tôi có phải xóa các khóa một lần nữa không?
Ruslan Garipov

4

Sử dụng gói tiện ích mở rộng NoGit mới: https://github.com/markrendle/nogit/releases/download/1.0.5/NoGit.vsix

Tải xuống và thêm vào studio trực quan: /superuser/73675/how-do-i-install-a-vsix-file-in-visual-studio

Dễ dàng.


Để cài đặt, tôi muốn thay đổi thủ công phần mở rộng .vsix thành .zip, vì vậy bạn có thể nhấp chuột phải và giải nén tệp. Sau đó, tất cả những gì bạn phải làm là đặt thư mục mới được giải nén vào thư mục dữ liệu ứng dụng người dùng của bạn (% appdata% \ Local \ Microsoft \ VisualStudio \ {version} \ Extensions). Sau đó khởi động lại visual studio, mở Tools-> Extensions and Updates ..., sau đó tìm "NoGit" và kích hoạt nó, sau đó khởi động lại lần nữa.
Ben Wilde

4

Nó đã bị đau trở lại trong một tuần và tôi không biết làm cách nào để bắt đầu dịch vụ kiểm soát nguồn này trong VS2015. Nhưng phải biết cách để ngăn chặn nó. Dưới đây là các bước để tách git / điều khiển nguồn bất kỳ với VS2019.

Đi tới VS -> Công cụ -> Tùy chọn -> Kiểm soát nguồn -> [Trình cắm kiểm soát nguồn hiện tại]

Bạn nhận được tất cả quyền kiểm soát nguồn có thể có trong hệ thống của mình và tùy chọn Không có. Nếu bạn chọn Không thì bạn đã sẵn sàng. Của tôi đã được sửa ngay sau khi chọn tùy chọn Không có, nhấn ok và khởi động lại VS và không cần kiểm soát nguồn nữa.


3

Bạn cần đóng tất cả các giải pháp VS. bắt đầu một, đặt Menu \ tools \ options \ Source Control \ Git -> Không có, đóng giải pháp này khi được nhắc. Bây giờ, khi mở bất kỳ giải pháp nào khác, các tùy chọn vẫn là "Không".


1

VS2015 đã sử dụng 50% CPU của tôi khi không hoạt động. Tôi biết rằng vô hiệu hóa Git là giải pháp. Rất tiếc, việc tắt Git chỉ để tìm hiểu nó sẽ tự động bật lại.

Trong trường hợp của tôi, tôi thực sự muốn sử dụng Git nhưng không muốn sử dụng 50% cpu.

Vì giải pháp NoGit chỉ khả dụng cho VS2013, thay vào đó bạn có thể tải xuống: Nhà cung cấp kiểm soát nguồn Git ngay cả khi bạn không sử dụng Git. Mức sử dụng CPU của tôi hiện là 2,2% thay vì 50% khi không hoạt động.


1

Tôi cũng đang gặp sự cố với Git trong Visual Studio nhưng tôi nghĩ rằng cuối cùng tôi đã tìm ra giải pháp hiệu quả. Cho đến bây giờ tôi đã sử dụng thủ thuật đổi tên thư mục .git thành _git và thêm một tệp văn bản có tên .git có chứa dòng "gitdir: _git". Nhưng kể từ khi nâng cấp lên VS2019 nó không hoạt động nữa.

Tôi đã thử rất nhiều giải pháp khác nhau, nhưng không có giải pháp nào hoạt động vì tôi cần Git cho một số dự án chứ không phải cho những giải pháp khác. Dự án sự cố của tôi đang sử dụng Máy chủ Team Foundation của công ty tôi để kiểm soát nguồn. Nhưng vì tôi đã mất mã trong các hợp nhất không hợp lệ do TFS thực hiện, tôi đang cam kết các thay đổi của mình đối với kho lưu trữ Git cục bộ trước khi cập nhật hoặc cam kết với TFS.

D:\Projects\TFS\.git Repo git cục bộ mà VS không nên sử dụng.

D:\Projects\TFS\ProjectA\$tf Tệp TFS mà VS nên sử dụng cho ProjectA.

Bất kể tôi đã cố gắng như thế nào, tôi không thể khiến VS sử dụng TFS cho ProjectA khi nó tìm thấy thư mục .git trong thư mục mẹ. Giải pháp của tôi là di chuyển thư mục .git sang:

D:\Projects\TFS-GIT\.git

và tạo một điểm nối thư mục đến thư mục ProjectA. Bắt đầu một dấu nhắc lệnh nâng cao và chạy:

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

Mở D:\Projects\TFS\ProjectA\ProjectA.slntrong Visual Studio, nó sẽ không tìm thấy bất kỳ thư mục .git nào và sẽ kết nối với TFS như bình thường.

Chạy lệnh git từ D:\Projects\TFS-GITsẽ sử dụng các tệp giống như Visual Studio ngoại trừ thư mục .git cũng có sẵn. TortoiseGit cũng hoạt động tốt từ thư mục này.


0

Tôi đã rất khó khăn để tìm ra giải pháp cho vấn đề này và đã thực hiện nó sau rất nhiều lần thử, vì vậy tôi không thể chính xác được. Tạo một kho lưu trữ cục bộ khác bằng GitHub Desktop trong một thư mục khác. Xong việc này, mở Visual Studio mà không cần tải dự án, lúc này Team Explorer sẽ hiển thị cả hai kho. Chọn kho lưu trữ mới vì bạn phải thực hiện một số thao tác, tại thời điểm này, bạn có thể "xóa" kho lưu trữ cũ của mình, vì kho mới là "đang hoạt động". Sau khi thực hiện việc này, tôi đã xóa các tệp .hiised .git * khỏi thư mục cũ. Bây giờ mở dự án không làm cho kho lưu trữ cũ được tạo lại. Hi vọng điêu nay co ich.


0

Điều đó thật điên rồ nhưng điều hiệu quả với tôi là làm trống Thùng rác của tôi (chứa thư mục .git không mong muốn trong giải pháp của tôi).

Tôi vẫn không thể tin được ...


0

Đổi tên "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ TeamFoundation"

VS sẽ chỉ xuất hiện lỗi một lần và hoạt động tốt.


0

Địa ngục phần mở rộng git này làm chậm mọi thứ trong IDE (VS 2015 trong trường hợp của tôi). Tôi đã phải xóa toàn bộ thư mục TeamFoundation để loại bỏ điều này. Nhược điểm là bạn sẽ không thể sử dụng Git và TeamFoundation trong Visual Studio 2015. Lưu ý: Sao lưu thư mục này ở nơi khác và khôi phục nó khi cần thiết.

Để xóa thư mục, tôi đã làm điều này. Các bước tôi đã làm để xóa đúng thư mục

Lý do tôi làm điều này là vì VS 2015 tạo tên thư mục ngẫu nhiên cho phần mở rộng TeamFoundation, vì vậy tên thư mục của tôi có thể khác với tên thư mục của bạn.


-2

Công cụ, Tùy chọn, Kiểm soát nguồn, Lựa chọn trình cắm, Không có


8
Visual Studio 2013 sẽ không tiếp tục thay đổi này. Lần tiếp theo bạn mở giải pháp, nó sẽ tự động chọn lại plugin Git nếu phát hiện thấy thư mục .git. Nó thậm chí sẽ làm điều này nếu giải pháp đã được liên kết với TFVC.
Mark W Dickson

-4

1) giải pháp gần gũi và studio trực quan. 2) vào thư mục của giải pháp và xóa thư mục git ẩn và 2 tệp văn bản git. 3) mở lại studio trực quan. 4) công cụ goto -> tùy chọn và kiểm soát nguồn. 5) không chọn. 6) khởi động lại studio trực quan. 7) mở giải pháp của bạn. 8) công cụ goto -> tùy chọn và kiểm soát nguồn một lần nữa và chọn TFS. 9) trong giải pháp nhấp chuột phải để chọn thêm điều khiển nguồn vào giải pháp. 10) chọn tfs.


Họ không muốn TFS và chắc chắn họ KHÔNG MUỐN xóa thư mục .git vì nó sẽ xóa toàn bộ lịch sử cam kết cục bộ. Những gì họ yêu cầu là làm thế nào để ngăn VS sử dụng thông tin từ thư mục .git, chứ không phải cách xóa thư mục đó.
quetzalcoatl,

-5

Đặt Tools \ Options \ Source Control trở lại TFS. Đóng Visual Studio 2015. Mở thư mục gốc của mã nguồn của bạn. Xóa thư mục có tên ".git". Khởi động lại.


4
Điều đó giống như việc bạn yêu cầu op xóa hoàn toàn thư mục khỏi git. "Tôi thích quản lý kiểm soát nguồn của mình hơn ở dòng lệnh" dường như chỉ ra rằng đó không phải là giải pháp cho anh ta.
Evren Kuzucuoglu
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.