Xóa ánh xạ git trong Visual Studio 2015


157

Câu hỏi này không liên quan gì đến git; thay vào đó, nó phải thực hiện với việc loại bỏ một ràng buộc / ánh xạ vào kho lưu trữ git mà Visual Studio 2015 (VS2015) đã thấy trước đó.

Đây là một ảnh chụp màn hình của vấn đề: Nút loại bỏ màu xám

Lưu ý rằng nút gỡ bỏ có màu xám (bị tắt). Làm cách nào tôi có thể xóa mục này khỏi danh sách "Kho lưu trữ Git cục bộ"?


Thật dễ dàng với bản phát hành NoGit hiện chưa được công bố, xem stackoverflow.com/a/33789257/2284031
Ben Wilde

Khi thêm giải pháp mới lưu ý rằng "kho lưu trữ thêm vào git" không được kiểm tra ở góc dưới bên phải nhỏ
Iman

1
Không có câu trả lời dưới đây làm việc cho tôi. Vì vậy, tôi chỉ sử dụng một cách giải quyết: đóng Studio, đổi tên thư mục .git thành bất kỳ tên nào, ví dụ: .git1, mở Studio, đổi tên thư mục git trở lại .git. Hãy nhớ rằng để đặt tên thư mục bắt đầu bằng dấu chấm trong Windows, bạn cần thêm một dấu chấm phụ ở cuối tên, tức là ".git1."
Bruha

Câu trả lời:


210

Giải pháp đơn giản hơn thế nhiều. Bạn chỉ cần xóa ba tệp khỏi Đường dẫn UNC của dự án.

Điều hướng đến Đường dẫn UNC của giải pháp của bạn.

Ví dụ: C: \ Users \ Tên người dùng của bạn \ Documents \ Visual Studio 2015 \ Project \ Thư mục dự án của bạn

Sau đó xóa vĩnh viễn ("SHIFT + DEL") các .git*tệp và thư mục. Có hai tệp và một thư mục, có thể bị ẩn để đảm bảo bạn có các thư mục và tùy chọn tìm kiếm> Xem> hiển thị các tệp, thư mục và ổ đĩa bị ẩn (Nút Radio) được chọn.

Các tập tin cần xóa vĩnh viễn là:

.gitignore (tập tin)

.gitattribut (tệp)

.git (thư mục)

Mở lại Visual Studio và không còn mối quan hệ nào với Kiểm soát nguồn Git. Nếu bạn muốn đưa nó ra khỏi sổ đăng ký như đã đề cập ở trên, bạn có thể, nhưng điều đó không cần thiết ngoài việc "giữ nhà" của máy.


2
+1. Theo kinh nghiệm của tôi, chơi với registry dường như không hoạt động tốt. Tôi đã làm điều này sau khi sao chép dự án của mình sang một vị trí khác (một vm sang một địa phương) và sau khi xóa .gitignore, .gitattribut và .git, điều này đã tạo nên mánh khóe.
cr1pto

42
-1 Điều này không loại bỏ ánh xạ git trong VS, nó đang loại bỏ kho git. Lý do VS dừng việc ánh xạ tới git với các bước này là do bạn đã thổi bay repo. Còn những người muốn sử dụng git, nhưng không muốn VS tham gia thì sao? Đây là những gì OP đã yêu cầu.
Rob Levine

5
@Richard_D - về cơ bản - nếu bạn đang sử dụng git theo cách tiêu chuẩn, thì thư mục .git này là git. Nó là bản sao cục bộ của bạn trên tất cả mọi thứ trên máy chủ git ngược dòng của bạn và cũng có thể là bản sao duy nhất của bất kỳ chi nhánh địa phương nào bạn đã tạo nhưng không được đẩy. Rất nhiều người sử dụng git từ dòng lệnh hoặc các công cụ như SourceTree và không muốn sử dụng tích hợp git trong VS. Trong trường hợp này, tất cả những gì chúng tôi muốn là vô hiệu hóa hỗ trợ git trong VS, chứ không thực sự can thiệp vào cài đặt git cục bộ của chúng tôi. Điều đó có ý nghĩa hơn, hoặc tôi đã hiểu nhầm mối quan tâm của bạn?
Rob Levine

4
Đây là một ý tưởng khủng khiếp . Sơ suất tội phạm đến tâm trí quá. Kẻ thất bại Seatbelt là một người khác. Điều này không xóa bất kỳ ánh xạ nào, nó sẽ xóa chính kho lưu trữ.
Panagiotis Kanavos

2
Trong trường hợp của tôi, nó hoạt động hoàn hảo. Do nhầm lẫn, tôi đã cố gắng thêm một dự án vào kiểm soát nguồn và một số cách đưa nó vào kho lưu trữ GIT cục bộ. Điều này làm mất mục đích kiểm soát nguồn bởi vì nếu ổ đĩa gặp sự cố, tôi sẽ mất tất cả. Tôi đã cố gắng kết nối với TFS và nó tiếp tục mặc định trở lại GIT. Bằng cách xóa tất cả các tệp GIT và mở lại VS, nó hoạt động hoàn hảo với tôi. +! loại Thưa!
nghiên cứu logic học

59

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: Không có


4
Đây là câu trả lời thực sự - trong trường hợp của tôi mặc dù tôi luôn sử dụng Team Foundation Server để kiểm soát phiên bản. Có vẻ như Microsoft đang thúc đẩy Git - không thích nó.
Alexey Shevelyov

Điều này chỉ đóng dự án và vô hiệu hóa kiểm soát nguồn trong studio hình ảnh. Lần sau khi bạn mở tích hợp git dự án sẽ được kích hoạt lại.
Skye MacMaster

40

Phiên bản ngắn

  1. Loại bỏ entr (y | ies) thích hợp bên dưới HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Xóa HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositorynếu nó giống như repo bạn đang cố xóa.

Lý lịch

Có vẻ như Visual Studio theo dõi tất cả các kho git mà nó đã thấy. Ngay cả khi bạn đóng dự án đang tham chiếu một kho lưu trữ, các mục cũ vẫn có thể xuất hiện trong danh sách.

Vấn đề này không mới đối với Visual Studio:

VS2013 - Làm cách nào để xóa kho git cục bộ khỏi cửa sổ nhóm thám hiểm khi tùy chọn Xóa luôn bị tắt?

Xóa liên kết Git khỏi giải pháp Visual Studio 2013?

Tất cả điều này có vẻ như rất nhiều công việc cho một cái gì đó có lẽ nên là một tính năng tích hợp. Các "giải pháp" nêu trên đề cập đến việc sửa đổi tệp .git, v.v.; Tôi không thích ý tưởng phải thay đổi những thứ bên ngoài Visual Studio để ảnh hưởng đến những thứ bên trong Visual Studio. Mặc dù giải pháp của tôi cần thực hiện một vài chỉnh sửa đăng ký (và nằm ngoài VS), nhưng ít nhất những điều này chỉ ảnh hưởng đến VS. Đây là cách giải quyết (đọc: hack):

Hướng dẫn chi tiết

Hãy chắc chắn đóng Visual Studio 2015 trước khi làm theo các bước này.

1. Mở regedit.exe và điều hướng đến

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

Kho lưu trữ Regedit cho VS

Bạn có thể thấy nhiều giá trị "băm" đại diện cho kho lưu trữ mà VS đang theo dõi.

2. Tìm kho lưu trữ git mà bạn muốn xóa khỏi danh sách. Nhìn vào namepathcác giá trị để xác minh kho lưu trữ chính xác cần xóa:

xác minh repo để xóa

3. Xóa khóa (và khóa con tương ứng).

(Tùy chọn: trước khi xóa, bạn có thể nhấp chuột phải và chọn Xuất để sao lưu khóa này trong trường hợp bạn mắc lỗi.) Bây giờ, nhấp chuột phải vào phím (trong trường hợp của tôi đây là AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9và chọn Xóa ).

4. Kiểm tra xem các LastUsedRepositoryđiểm chính cho "cái gì khác."

Nếu ánh xạ kho lưu trữ mà bạn đang cố xóa trong các bước trên được lưu trữ LastUsedRepository, thì bạn cũng cần phải xóa khóa này. Đầu tiên điều hướng đến:

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

vị trí của khóa chung

và xóa khóa LastUsedRepository(khóa sẽ được VS tạo lại nếu cần). Nếu bạn lo lắng về việc xóa khóa, bạn có thể sửa đổi giá trị và đặt nó thành một chuỗi trống:

xóa repo sử dụng lần cuối

Khi bạn mở lại Visual Studio 2015, liên kết kho git sẽ không xuất hiện trong danh sách nữa.


Tôi không nghĩ chơi với registry là một ý tưởng hay ... nếu điều này có hiệu quả với một số người, tuyệt vời, nhưng theo kinh nghiệm của tôi thì đây không phải là đặt cược an toàn nhất. Xem câu trả lời của @ helix để có giải pháp an toàn hơn nhiều.
cr1pto

3
@Richard_D - câu trả lời của helix không xóa ánh xạ VS thành git, nó phá hủy chính git repo, đây không phải là điều mà OP dường như đang hỏi. Việc hack registry không lý tưởng, nhưng ít nhất nó cũng cố gắng giải quyết vấn đề thực tế "Tôi đang sử dụng repo git nhưng không muốn VS tham gia"
Rob Levine

Tôi thấy rằng điều này trả lời câu hỏi của OP, nhưng đây có phải là câu trả lời đúng không? Tôi không chắc. Vui lòng xem câu hỏi của tôi trong câu trả lời của @ Helix. Cảm ơn Rob, đánh giá cao cái nhìn sâu sắc của bạn.
cr1pto

1
VS2015 chỉ khôi phục các mục đăng ký này vào lần tiếp theo khi giải pháp được mở.
Amit G

1
Các nhà phát triển không nên sợ chỉnh sửa Windows Registry. Đặc biệt là khi đó rõ ràng là một phím Visual Studio! Xóa thư mục .git không phải là một lựa chọn cho tôi.
0xF

21

Kho lưu trữ Git có thể bị xóa khỏi danh sách Kho lưu trữ Git cục bộ trong VS-2015 khi nó không còn là dự án hoạt động.

Ảnh chụp màn hình của bạn chỉ có một kho lưu trữ và nó đang hoạt động, vì vậy bạn không thể xóa nó.

Khi bạn có hai hoặc nhiều kho lưu trữ, một trong số chúng sẽ được hiển thị trong BOLD đại diện cho kho lưu trữ đang hoạt động. Các kho lưu trữ không hoạt động khác, tại thời điểm đó, có thể được gỡ bỏ.

Vì vậy, để giải quyết vấn đề của bạn, nếu bạn kết nối với kho lưu trữ cục bộ thứ hai, bạn sẽ có thể xóa cái bạn đang làm nổi bật trong ảnh chụp màn hình.

Thật không may, Team Explorer dường như luôn giữ một kho lưu trữ hoạt động. Không chắc chắn làm thế nào để thuyết phục nó buông ra hoàn toàn mà không chuyển sang kho lưu trữ khác.


Nhưng làm thế nào để bạn "Kết nối" với các kho khác? Có vẻ như một khi VS ở trên repo, nó không cho phép bạn kết nối với người khác bằng cách sử dụng cùng tùy chọn "Thêm vào điều khiển Sorce" trong menu thám hiểm giải pháp. (nvm xóa .git và các tệp git khác khỏi thư mục giải pháp làm việc cho tôi.)
Gram

@Gram. Trong Kho lưu trữ Git cục bộ (xem ảnh chụp màn hình OP), bạn có thể tạo kho 'Git' mới hoặc 'Bản sao' một kho lưu trữ hiện có. Nếu bạn tạo một kho git mới, hãy cho nó một đường dẫn trên ổ cứng cục bộ của bạn, sau đó bấm Tạo. Sau đó, nó sẽ xuất hiện trong danh sách của bạn. Nhấp đúp vào kho lưu trữ mới và nó sẽ được tô sáng bằng văn bản in đậm và đằng sau hậu trường trở thành kho lưu trữ đang hoạt động. Tại thời điểm đó, bạn có thể loại bỏ các kho lưu trữ khác khỏi danh sách.
Chris C.

Đó là tạo một repo cục bộ mới, không kết nối một dự án hiện tại với một repo github hiện có. Rất tiếc, trong một lần đọc qua tôi thấy loại bỏ là câu hỏi duy nhất. Làm thế nào để kết nối với hiện tại không phải là một phần của câu hỏi, sai lầm của tôi.
Gram

18

Loại bỏ thư mục ẩn .git làm việc cho tôi.


Điều này sẽ chuyển đổi thư mục từ thanh toán git thành một thư mục. Chắc chắn người ta không nên thay đổi mục đích của một thư mục thanh toán vì Visual Studio thực hiện điều này hoặc điều đó.
Cristian Amarie

Siêu muộn, nhưng cảm ơn bạn rất nhiều ... Đây phải là một trong những buổi sáng khó chịu và phiền toái nhất trong toàn bộ sự nghiệp của tôi cho đến nay, thật là một chức năng ngu ngốc mà họ đã tích hợp để xử lý việc này ...
haag1

11

Câu trả lời trên không làm việc cho tôi. Các mục đăng ký sẽ chỉ được tự động thêm lại khi tôi mở giải pháp trong Visual Studio. Tôi đã tìm thấy độ phân giải trong một trong các liên kết trong câu trả lời của Matthews vì vậy tín dụng vẫn dành cho anh ta để có câu trả lời chính xác.

Xóa liên kết Git khỏi giải pháp Visual Studio 2013?

Xóa .gitthư mục ẩn trong bộ giải pháp của bạn.

Tôi cũng loại bỏ các tập tin .gitattributes.gitignorechỉ để giữ cho thư mục của tôi sạch sẽ.


2
Điều này không được sử dụng nếu bạn muốn dự án được quản lý bởi git, chỉ không thông qua Team Explorer. Cá nhân tôi thấy rằng Team Explorer gây rối với việc tôi sử dụng Git thông qua một plugin VS khác, điều này hoàn toàn không mong muốn.
Henry Wilson

Điều này không loại bỏ bổ trợ git khỏi VS. VS tiếp tục đánh bại bụi cây Git và nó đang trở nên trầm trọng hơn.
I Ab.

@IAbauge Câu hỏi không yêu cầu xóa bổ trợ git khỏi VS.
Gene S

@Henry Wilson Có vẻ như bạn không bình luận có liên quan đến câu hỏi. Câu trả lời của tôi không loại bỏ ràng buộc / ánh xạ khỏi Visual Studio. Nó làm việc cho tôi và rõ ràng làm việc cho người khác.
Gene S

1
Nó hoàn toàn liên quan đến câu hỏi! OP không nói rõ liệu anh ta có sử dụng git để kiểm soát nguồn hay không, anh ta chỉ muốn biết làm thế nào để thoát khỏi sự ràng buộc trong VS. Xóa thư mục .git và các tệp .gitattribut / .gitignore giả định rằng bạn không thực sự sử dụng git để kiểm soát nguồn, điều mà nhiều người có thể có.
Henry Wilson

9

Tiện ích mở rộng NoGit chỉ đơn giản là che giấu vấn đề, bằng cách tắt nhà cung cấp kiểm soát nguồn Git mỗi khi giải pháp được tải. Nó thực hiện công việc này cho mọi giải pháp được tải trong Visual Studio.

Tôi đã giải quyết bằng cách mở một dự án khác và xóa kho Git khỏi Kho lưu trữ Git cục bộ, như Chris C. đã đề xuất (Xem> Team Explorer> Kho lưu trữ Git cục bộ, chọn kho lưu trữ phải xóa và nhấp vào Xóa). Sau đó, tôi loại bỏ thư mục .git khỏi đường dẫn dự án, như được đề xuất bởi helix. Mở lại dự án và cuối cùng tích hợp Git đã biến mất!


Chỉ cần xóa thư mục .git và một vài tệp .git khỏi thư mục Giải pháp đã sửa nó cho tôi. Cảm ơn tất cả!
PTansey

8
  1. Điều hướng đến thư mục dự án của bạn
  2. Nhấp vào thư mục Menu-> Công cụ-> Tùy chọn thư mục
  3. Chọn tab Xem
  4. Chọn Trong Tệp và Thư mục Hiển thị tệp, thư mục và ổ đĩa bị ẩn
  5. Nhấn vào OK
  6. Xóa .gitthư mục
  7. Đóng và mở lại bạn Visual Studio
  8. Mở dự án của bạn
  9. Làm xong. :)

Mã hóa an toàn.


1
Đó không phải là những gì chúng tôi đang cố gắng làm. Chúng tôi muốn git, chúng tôi không muốn tích hợp VS với git.
Gerry

7

Nó rất đơn giản,

  1. đảm bảo rằng bạn không được kết nối với dự án bạn muốn xóa

  2. dự án được đóng lại trong giải pháp thám hiểm

    Đó là tất cả, nếu bạn thử lại bây giờ, hành động xóa sẽ được bật


Cảm ơn. Đây là cách đơn giản nhất và nên được chọn làm câu trả lời.
Ronald Ramos

Hoạt động, nếu bạn thấy tùy chọn xóa tiếp tục vô hiệu hóa, hãy đóng và mở lại Visual studio. Tôi đã sử dụng nó với VS 2017
triển tự do

5

Tôi đã dành một chút thời gian để loại bỏ tích hợp git khỏi dự án visual studio 2015 của tôi. bất cứ khi nào tôi xóa git khỏi visual studio và thêm TFS bằng cách làm theo điều này - Công cụ -> tùy chọn -> sourceControl -> lựa chọn plugin -> máy chủ nền tảng Visual Studio Team, nó được sử dụng để quay lại.

Giải pháp của tôi là -

làm cho vị trí thực của dự án của tôi- Hiển thị tất cả các tệp ẩn. bạn có thể làm điều này bằng cách hiển thị các tập tin ẩn và tùy chọn thư mục của windows. sau đó tôi nhận ra, có một thư mục ẩn được gọi là .git gì đó. Tôi đã sao lưu đầy đủ thư mục dự án của mình và thư mục git bất kỳ sao lưu nào khác cần thiết (tôi đã sao lưu dự phòng này trong trường hợp dự án của tôi bị phá vỡ, để tôi có thể quay lại điều kiện trước đó).

sau đó tôi đã xóa thư mục .git ẩn và bất kỳ tập tin .git nào khác.

sau đó tôi thử Công cụ -> tùy chọn -> sourceControl -> lựa chọn plugin -> Máy chủ nền tảng của Visual Studio Team. sau đó tôi mở dự án bằng visual studio- File -> open -> project / Solution ..

sau đó tôi đã chú ý đến trình khám phá giải pháp, nhấp chuột phải vào tên giải pháp, xem tùy chọn "Kiểm soát nguồn" và trong dự án - nhấp chuột phải tôi thấy "Thêm soution vào kiểm soát nguồn" .. và lần này nó không thêm giải pháp vào git. .

ngoài ra, rất tốt để xóa bất kỳ kết nối git nào khỏi trình khai thác kiểm soát nguồn của bạn..nếu có bất kỳ ..

Vì vậy, điều chính là đảm bảo rằng không có tệp git ẩn trong tệp dự án của bạn và bất kỳ phần mở rộng git nào khác .. hy vọng điều này sẽ hữu ích cho ai đó ..


2

Ngoài Juliano Nunes Silva Oliveira câu trả lời , cách đơn giản và gọn gàng nhất mà không cần hack vào regedit, xóa các thư mục .git ẩn hoặc thay đổi cài đặt VS15 của bạn là bằng cách kết nối với một kho lưu trữ khác. Khi được kết nối, bạn sẽ thấy văn bản của kho lưu trữ khác được in đậm, sau đó chọn kho lưu trữ cục bộ Git của bạn . Bây giờ bạn thấy rằng

Tẩy

mục menu được kích hoạt để bạn có thể xóa kho lưu trữ cục bộ Git .

Đó là loại hành vi tương tự khi làm việc với Chi nhánh khi sử dụng Git với visual studio 2015. Bạn cần chọn chi nhánh khác trước khi có thể xóa chi nhánh bạn muốn xóa.

Đối với những người cần trực quan để hiểu nó tốt hơn. xem hình ảnh liên kết: làm thế nào nó được thực hiện

Chúc mừng mã hóa


1

Nó chỉ tìm kiếm sự hiện diện của thư mục .git trong thư mục giải pháp. Xóa thư mục đó, có thể bị ẩn và Visual Studio sẽ không còn coi đó là một dự án git.


Đó là bởi vì nếu bạn loại bỏ nó, nó không còn là một dự án git . Bạn đã phá hủy phiên bản của bạn một cách hiệu quả. Nếu đó là những gì bạn muốn làm, tốt thôi.
gliljas

Đó chính xác là những gì tôi muốn làm. Visual Studio đã quyết định hết hạn giấy phép 30 ngày của tôi khi tôi thêm nó vào kiểm soát nguồn. Để lại dự án của tôi trong tình trạng khó hiểu và tôi không thể làm theo tài liệu trên.
Chuyến đi của Nathan

1

Kết nối với kho lưu trữ khác (tôi đã thử với kho lưu trữ TFS), sau đó đi đến Quản lý kết nối, nhấp chuột phải vào kho Git và bạn có thể xóa nó.

Nhưng bạn vẫn phải xóa thủ công thư mục và tệp .git khỏi đường dẫn dự án của bạn trước khi mở lại giải pháp.


1

@Matthew Kraus Vui lòng Nhấp vào các công cụ từ thanh menu sau đó nhấp vào Tùy chọn, Tìm Kiểm soát nguồn sau đó chọn "Không" từ danh sách thả xuống và Nhấp vào OK. Xóa thư mục .git ẩn khỏi thư mục dự án của bạn. Mở lại dự án của bạn. nhập mô tả hình ảnh ở đây


0

Đi đến Control Panel\User Accounts\Credential Managervà chọn Windows Credentialsau đó xóa tài khoản của git.



0

Bạn không thể xóa kho git cục bộ khi nó đã được kết nối. Vì vậy, đóng giải pháp, mở một giải pháp khác và sau đó loại bỏ kho git cục bộ. đừng quên xóa .git thư mục ẩn hoạt động với tôi

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.