Usuń mapowanie git w programie Visual Studio 2015

157

To pytanie nie ma nic wspólnego z samym git; ma raczej związek z usunięciem powiązania / mapowania z repozytorium git, które wcześniej widział program Visual Studio 2015 (VS2015).

Oto zrzut ekranu przedstawiający problem: Przycisk Usuń jest wyszarzony

Zwróć uwagę, że przycisk usuwania jest wyszarzony (wyłączony). Jak mogę usunąć ten wpis z listy „Lokalne repozytoria Git”?

Matthew Kraus
źródło
Jest to łatwe dzięki obecnie nieopublikowanemu wydaniu NoGit, patrz stackoverflow.com/a/33789257/2284031
Ben Wilde
Dodając nowe rozwiązanie, zwróć uwagę, że opcja „dodaj do repozytorium git” nie jest zaznaczona w prawym dolnym rogu
Iman
1
Żadna z poniższych odpowiedzi nie działa dla mnie. Właśnie zastosowałem obejście: zamknij Studio, zmień nazwę folderu .git na dowolną nazwę np. .Git1, otwórz Studio, zmień nazwę folderu git z powrotem na .git. Pamiętaj, że aby nadać folderowi nazwę zaczynającą się od kropki w systemie Windows, musisz dodać dodatkową kropkę na końcu nazwy, np. „.Git1”.
bruha

Odpowiedzi:

210

Rozwiązanie jest znacznie prostsze. Wystarczy usunąć trzy pliki ze ścieżki UNC projektu.

Przejdź do ścieżki UNC swojego rozwiązania.

Przykład: C: \ Users \ Your User Name \ Documents \ Visual Studio 2015 \ Projects \ Your Project Folder

Następnie trwale usuń („SHIFT + DEL”) .git*pliki i folder. Istnieją dwa pliki i jeden folder, który może być ukryty, więc upewnij się, że masz swoje foldery i opcje wyszukiwania> Widok> pokaż ukryte pliki, folder i dyski (przycisk opcji) Zaznaczone.

Pliki do trwałego usunięcia to:

.gitignore (plik)

.gitattributes (plik)

.git (folder)

Otwórz ponownie program Visual Studio i nie ma już związku z kontrolą źródła Git. Jeśli chciałbyś zabrać go tak daleko, jak usunięcie go z rejestru, jak wspomniano powyżej, możesz, ale nie powinno to być konieczne poza "utrzymaniem domu" twojego komputera.

spirala
źródło
2
+1. Z mojego doświadczenia wynika, że ​​granie w rejestrze nie działa zbyt dobrze. Zrobiłem to po skopiowaniu mojego projektu do innej lokalizacji (wirtualnej maszyny do lokalnego) i po usunięciu .gitignore, .gitattributes i .git, to załatwiło sprawę.
cr1pto
42
-1 To nie jest usunięcie mapowania git w VS, ale usunięcie samego repozytorium git. Powodem, dla którego VS przestaje być mapowane na git w tych krokach, jest zdmuchnięcie repozytorium. A co z ludźmi, którzy chcą używać git, ale nie chcą, aby VS się angażował? O to prosił PO.
Rob Levine
5
@Richard_D - w zasadzie - jeśli używasz git w standardowy sposób, to ten folder .git to git. Jest to zarówno lokalna kopia wszystkiego, co znajduje się na nadrzędnym serwerze git, jak i prawdopodobnie jedyna kopia wszelkich lokalnych gałęzi, które utworzyłeś, ale nie zostały przesłane. Wiele osób używa git z wiersza poleceń lub narzędzi takich jak SourceTree i nie chce korzystać z integracji git w VS. W tym przypadku wszystko, czego chcemy, to wyłączyć obsługę git w VS, a nie faktycznie manipulować naszą lokalną instalacją git. Czy to ma większy sens, czy może źle zrozumiałem twoje obawy?
Rob Levine
4
To przerażający pomysł. Przychodzi też na myśl przestępstwo karne. Innym przykładem są urządzenia zabezpieczające pasy. To nie usuwa żadnego mapowania, tylko usuwa samo repozytorium.
Panagiotis Kanavos
2
W moim przypadku zadziałało idealnie. Przez pomyłkę próbowałem dodać projekt do kontroli źródła i trochę jak umieścić go w repozytorium GIT lokalnie. To eliminuje cel kontroli źródła, ponieważ jeśli dysk ulegnie awarii, stracę wszystko. Próbowałem połączyć się z TFS i nadal wracałem do domyślnego GIT. Po usunięciu wszystkich plików GIT i ponownym otwarciu VS, działało to idealnie dla mnie. +! miły panie!
logiksolog
59

Narzędzia -> Opcje -> Kontrola źródła -> Bieżąca wtyczka kontroli źródła: Brak

Brontomania
źródło
4
To jest prawdziwa odpowiedź - chociaż w moim przypadku zawsze korzystałem z Team Foundation Server do kontroli wersji. Wygląda na to, że Microsoft naciska na Gita - nie podoba mi się to.
Alexey Shevelyov
To tylko zamyka projekt i wyłącza kontrolę źródła w Visual Studio. Następnym razem, gdy otworzysz projekt, integracja git zostanie ponownie włączona.
Skye MacMaster
40

Krótka wersja

  1. Usuń odpowiednie pozycje (y | ies) pod HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Usuń, HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositoryjeśli jest to to samo, co repozytorium, które próbujesz usunąć.

tło

Wygląda na to, że Visual Studio śledzi wszystkie repozytoria git, które widział. Nawet jeśli zamkniesz projekt, który odwoływał się do repozytorium, stare wpisy mogą nadal pojawiać się na liście.

Ten problem nie jest nowy w programie Visual Studio:

VS2013 - Jak usunąć lokalne repozytorium git z okna eksploratora zespołu, gdy opcja Usuń jest zawsze wyłączona?

Usunąć powiązanie Git z rozwiązania Visual Studio 2013?

Wydaje się, że to wszystko wymaga dużo pracy, jak na coś, co prawdopodobnie powinno być wbudowaną funkcją. Powyższe „rozwiązania” wspominają o modyfikacji pliku .git itp .; Nie podoba mi się pomysł konieczności zmiany rzeczy poza programem Visual Studio, aby wpłynąć na rzeczy w programie Visual Studio. Chociaż moje rozwiązanie wymaga wprowadzenia kilku zmian w rejestrze (i jest zewnętrznych dla VS), przynajmniej wpływają one tylko na VS. Oto obejście (czytaj: hack):

Szczegółowe instrukcje

Przed wykonaniem tych kroków upewnij się, że program Visual Studio 2015 został zamknięty.

1. Otwórz regedit.exe i przejdź do

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

Repozytoria Regedit dla VS

Możesz zobaczyć wiele wartości „hash” reprezentujących repozytoria, które śledzi VS.

2. Znajdź repozytorium git, które chcesz usunąć z listy. Spójrz na wartości namei path, aby zweryfikować poprawne repozytorium do usunięcia:

zweryfikuj repozytorium, aby usunąć

3. Usuń klucz (i odpowiadające mu podklucze).

(Opcjonalnie: przed usunięciem możesz kliknąć prawym przyciskiem myszy i wybrać Eksportuj, aby wykonać kopię zapasową tego klucza na wypadek, gdybyś się pomylił). Teraz kliknij prawym przyciskiem myszy na klucz (w moim przypadku jest to AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9i wybierz Usuń ).

4. Sprawdź, czy LastUsedRepositoryklucz wskazuje na „coś innego”.

Jeśli mapowanie repozytorium, które próbujesz usunąć w powyższych krokach, jest przechowywane w LastUsedRepository, musisz również usunąć ten klucz. Najpierw przejdź do:

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

lokalizacja klucza ogólnego

i usuń klucz LastUsedRepository(w razie potrzeby klucz zostanie ponownie utworzony przez VS). Jeśli martwisz się usunięciem klucza, możesz po prostu zmodyfikować wartość i ustawić ją na pusty ciąg:

usuń ostatnio używane repozytorium

Po ponownym otwarciu programu Visual Studio 2015 powiązanie repozytorium git nie powinno już pojawiać się na liście.

Matthew Kraus
źródło
Nie sądzę, aby gra z rejestrem była dobrym pomysłem ... jeśli to zadziałało dla niektórych, fajnie, ale z mojego doświadczenia wynika, że ​​nie jest to najbezpieczniejszy zakład. Zobacz odpowiedź @ helix, aby uzyskać znacznie bezpieczniejsze rozwiązanie.
cr1pto
3
@Richard_D - odpowiedź helisy nie usuwa mapowania VS do git, niszczy samo repozytorium git, o co nie pyta OP. Hakowanie rejestru nie jest idealne, ale przynajmniej próbuje rozwiązać rzeczywisty problem „Używam repozytorium git, ale nie chcę, aby VS się w to angażował”
Rob Levine
Widzę, że to odpowiada na pytanie OP, ale czy to jest poprawna odpowiedź? Nie jestem pewien. Zobacz moje pytania w odpowiedzi @ Helix. Dzięki Rob, doceniam twój wgląd.
cr1pto
1
VS2015 po prostu przywraca te wpisy rejestru przy następnym otwarciu rozwiązania.
Amit G
1
Programiści nie powinni bać się edycji rejestru systemu Windows. Zwłaszcza, gdy jest to oczywiście klucz programu Visual Studio! Usunięcie katalogu .git nie jest dla mnie opcją.
0xF
21

Repozytorium Git można usunąć z listy lokalnych repozytoriów Git w VS-2015, gdy nie jest już aktywnym projektem.

Zrzut ekranu zawiera tylko jedno repozytorium i jest ono aktywne, więc nie możesz go usunąć.

Jeśli masz dwa lub więcej repozytoriów, jeden z nich zostanie wyświetlony pogrubioną czcionką i reprezentuje aktywne repozytorium. Inne nieaktywne repozytoria można w tym czasie usunąć.

Tak więc, aby rozwiązać problem, jeśli połączysz się z drugim lokalnym repozytorium, będziesz mógł usunąć to, które zaznaczasz na zrzucie ekranu.

Niestety, wydaje się, że Team Explorer zawsze utrzymuje aktywne jedno repozytorium. Nie jestem pewien, jak go przekonać, aby całkowicie odpuścił bez przełączania się do innego repozytorium.

Chris C.
źródło
Ale jak „połączyć się” z innymi repozytoriami? Wygląda na to, że gdy VS jest w repozytorium, nie pozwala na połączenie się z innym przy użyciu tej samej opcji „Dodaj do kontroli Sorce” w menu eksploratora rozwiązań. (nvm usuwanie plików .git i innych plików git z katalogu rozwiązania zadziałało.)
Gram
@Gram. W sekcji Lokalne repozytoria Git (patrz zrzut ekranu OP) możesz utworzyć „Nowe” repozytorium Git lub „Sklonuj” istniejące. Jeśli tworzysz nowe repozytorium git, podaj mu ścieżkę na lokalnym dysku twardym, a następnie kliknij Utwórz. Następnie pojawi się na Twojej liście. Kliknij dwukrotnie nowe repozytorium, a zostanie ono wyróżnione pogrubioną czcionką, a za kulisami stanie się aktywnym repozytorium. W tym momencie możesz usunąć inne repozytoria z listy.
Chris C.
Oznacza to utworzenie nowego lokalnego repozytorium, a nie połączenie istniejącego projektu z istniejącym repozytorium na Github. Ups, po drugim przeczytaniu widzę, że usunięcie jest jedynym pytaniem. Jak podłączyć się do istniejącego, to nie jest część pytania, mój błąd.
Gram
18

Usunięcie ukrytego folderu .git zadziałało.

sensei
źródło
Spowoduje to przekształcenie folderu z usługi Git Checkout w folder. Oczywiście nie należy zmieniać celu katalogu checkout, ponieważ Visual Studio robi to czy tamto.
Cristian Amarie
Bardzo późno, ale dziękuję bardzo ... To musiał być jeden z najbardziej frustrujących i irytujących poranków w mojej dotychczasowej karierze, jaką głupią funkcjonalność
wbudowali
11

Powyższa odpowiedź nie działa dla mnie. Wpisy rejestru byłyby automatycznie ponownie dodawane po otwarciu rozwiązania w programie Visual Studio. Znalazłem rozwiązanie w jednym z linków w odpowiedzi Matthewsa, więc nadal zasługuje na uznanie za poprawną odpowiedź.

Usunąć powiązanie Git z rozwiązania Visual Studio 2013?

Usuń ukryty .gitfolder w folderze rozwiązań.

Usunąłem również pliki .gitattributesi .gitignore, aby utrzymać folder w czystości.

Gene S.
źródło
2
Nie ma to sensu, jeśli chcesz, aby projekt był zarządzany przez git, ale nie przez Team Explorer. Osobiście uważam, że Team Explorer psuje mi korzystanie z Gita za pośrednictwem innej wtyczki VS, co jest całkowicie niepożądane.
Henry Wilson
Nie powoduje to usunięcia dodatku git z VS. VS nadal wygrywa z Gitem i to irytuje.
IAbstract
@IAbstract Pytanie nie dotyczy usunięcia dodatku git z VS.
Gene S,
@Henry Wilson Nie wydaje się, że Twój komentarz ma związek z pytaniem. Moja odpowiedź usuwa powiązanie / mapowanie z programu Visual Studio. To działa dla mnie i wyraźnie działa dla innych.
Gene S,
1
Jest to całkowicie związane z pytaniem! OP nie określa, czy używa git do kontroli źródła, czy nie, chce tylko wiedzieć, jak pozbyć się powiązania w VS. Usunięcie folderu .git i plików .gitattributes / .gitignore zakłada, że ​​w rzeczywistości nie używasz git do kontroli źródła, czym może być wielu ludzi.
Henry Wilson
9

Rozszerzenie NoGit po prostu ukrywa problem, wyłączając dostawcę kontroli źródła Git za każdym razem, gdy rozwiązanie jest ładowane. Wykonuje tę pracę dla każdego rozwiązania, które jest ładowane w programie Visual Studio.

Rozwiązałem, otwierając kolejny projekt i usuwając repozytorium Git z lokalnych repozytoriów Git, jak zasugerował Chris C. (Widok> Team Explorer> Lokalne repozytoria Git, wybierz repozytorium, które ma zostać usunięte i kliknij Usuń). Następnie usunąłem folder .git ze ścieżki projektu, zgodnie z sugestią helisy. Ponownie otworzyłem projekt i ostatecznie nie było integracji z Git!

jeanie77
źródło
Samo usunięcie folderu .git i kilku plików .git z folderu Solutions rozwiązało problem. Dziękuje wszystkim!
PTansey
8
  1. Przejdź do katalogu swojego projektu
  2. Kliknij folder Menu-> Narzędzia-> Opcje folderów
  3. Wybierz kartę Widok
  4. W obszarze Pliki i foldery wybierz opcję Pokaż ukryte pliki, foldery i dyski
  5. Kliknij OK
  6. Usuń .gitfolder
  7. Zamknij i ponownie otwórz program Visual Studio
  8. Otwórz swój projekt
  9. Gotowe. :)

Bezpieczne kodowanie.

Rodney Godfried
źródło
1
To NIE jest to, co próbujemy zrobić. Chcemy git, po prostu nie chcemy integracji VS z git.
Gerry
7

To takie proste,

  1. upewnij się, że nie masz połączenia z projektem, który chcesz usunąć

  2. projekt jest zamknięty w eksploratorze rozwiązań

    To wszystko, jeśli spróbujesz teraz ponownie, akcja usuwania zostanie włączona

erradi mourad
źródło
Dzięki. To jest najprostsze i należy je wybrać jako odpowiedź.
Ronald Ramos
Działa, jeśli widzisz, że opcja Usuń kontynuuj wyłącz, zamknij i otwórz ponownie Visual Studio. Użyłem go z VS 2017
freedeveloper
5

Spędziłem trochę czasu, aby usunąć integrację git z mojego projektu Visual Studio 2015. za każdym razem, gdy usuwam git z Visual Studio i dodam TFS, postępując zgodnie z tym - Narzędzia -> opcja -> sourceControl -> wybór wtyczki -> Serwer fundacji Visual Studio Team, wracał.

Moim rozwiązaniem było -

ustalanie fizycznej lokalizacji mojego projektu - Pokaż wszystkie ukryte pliki. możesz to zrobić, pokazując ukryte pliki i opcję folderów w systemie Windows. potem zdaję sobie sprawę, że był tam ukryty folder o nazwie .git coś. Zachowałem pełną kopię zapasową folderu projektu, a także folder git, wszelkie inne potrzebne kopie zapasowe (zachowałem tę kopię zapasową na wypadek, gdyby mój projekt się zepsuł, aby móc wrócić do poprzedniego stanu).

następnie usunąłem ukryty folder .git i inne pliki związane z .git.

następnie próbuję wybrać Tools -> option -> sourceControl -> plugin selection -> Visual Studio Team Foundation server. następnie otwieram projekt przez Visual Studio- Plik -> Otwórz -> Projekt / Rozwiązanie ..

po czym natrafiłem na eksplorator rozwiązań, klikając prawym przyciskiem myszy nazwę rozwiązania, widzę opcję „Kontrola źródła”, a także w projekcie - prawym przyciskiem myszy widzę „Dodaj rozwiązanie do kontroli źródła”… i tym razem nie dodałem rozwiązania do gita. .

dobrze jest też usunąć wszelkie połączenia git z exploerera kontroli źródła… jeśli takie istnieją…

więc najważniejsze jest to, aby upewnić się, że w pliku projektu nie ma żadnego ukrytego pliku git ani żadnego innego rozszerzenia git ... mam nadzieję, że będzie to pomocne dla kogoś ..

Mężczyzna
źródło
2

Oprócz odpowiedzi Juliano Nunes Silva Oliveira , najprostszym i najczystszym sposobem bez włamywania się do regedit, usuwania ukrytych folderów .git lub zmiany ustawień VS15 jest połączenie z innym repozytorium. Po nawiązaniu połączenia zobaczysz tekst drugiego repozytorium pogrubiony, a następnie wybierz lokalne repozytorium Git . Teraz widzisz, że

Usunąć

pozycja menu jest włączona, więc możesz usunąć swoje lokalne repozytorium Git .

Jest to ten sam typ zachowania, gdy mamy do czynienia z gałęziami podczas korzystania z Git w programie Visual Studio 2015. Aby usunąć gałąź, którą chcesz usunąć, musisz wybrać inną gałąź.

Dla tych, którzy potrzebują wizualizacji, aby lepiej to zrozumieć. zobacz obrazek linku: jak to się robi

Miłego kodowania

Quoc Nguyen
źródło
1

Po prostu szuka katalogu .git w folderze rozwiązania. Usuń ten folder, prawdopodobnie ukryty, a program Visual Studio nie będzie już traktować go jako projektu git.

M Ahmad
źródło
Dzieje się tak, ponieważ jeśli go usuniesz, nie jest to już projekt git . Skutecznie zniszczyłeś swoje wersje. Jeśli tego chcesz, w porządku.
gliljas
Dokładnie to chciałem zrobić. Visual Studio zdecydowało o wygaśnięciu mojej 30-dniowej licencji, ponieważ dodawałem ją do kontroli źródła. Zostawiłem swój projekt w stanie, który był zagmatwany i nie mogłem śledzić dokumentacji.
Nathan Goings
1

Połącz się z innym repozytorium (próbowałem z repozytorium TFS), a następnie przejdź do Zarządzaj połączeniami, kliknij prawym przyciskiem myszy repozytorium Git i być może uda Ci się je usunąć.

Ale nadal musisz ręcznie usunąć folder .git i pliki ze ścieżki projektu przed ponownym otwarciem rozwiązania.

Juliano Nunes Silva Oliveira
źródło
1

@Matthew Kraus Kliknij narzędzia na pasku menu, a następnie kliknij Opcje, Znajdź Kontrolę Źródła, a następnie wybierz „Brak” z rozwijanej listy i kliknij OK. Usuń ukryty folder .git z folderu projektu. Otwórz ponownie swój projekt. wprowadź opis obrazu tutaj

Tanvir
źródło
0

Przejdź do Control Panel\User Accounts\Credential Manageri wybierz, Windows Credentiala następnie usuń konto git.


źródło
0

pobierz rozszerzenie z firmy Microsoft i zainstaluj, aby usunąć rozszerzenie GIT z programu Visual Studio i SSMS.

https://marketplace.visualstudio.com/items?itemName=MarkRendle.NoGit

SSMS: Edytuj plik ssms.pkgundef znaleziony w C: \ Program Files (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ ssms.pkgundef i usuń wszystkie wpisy związane z git

Ramkumar Sambandam
źródło
0

Nie możesz usunąć lokalnego repozytorium git, gdy jest już połączone. więc zamknij rozwiązanie, otwórz inne rozwiązanie, a następnie usuń lokalne repozytorium git. nie zapomnij usunąć ukrytego folderu .git działa dla mnie

netanel elipaz
źródło