Entfernen Sie die Git-Zuordnung in Visual Studio 2015

157

Diese Frage hat nichts mit Git selbst zu tun; Es geht vielmehr darum, eine Bindung / Zuordnung zu einem Git-Repository zu entfernen, die Visual Studio 2015 (VS2015) zuvor gesehen hat.

Hier ist ein Screenshot des Problems: Die Schaltfläche zum Entfernen ist ausgegraut

Beachten Sie, dass die Schaltfläche zum Entfernen ausgegraut (deaktiviert) ist. Wie kann ich diesen Eintrag aus der Liste "Local Git Repositories" entfernen?

Matthew Kraus
quelle
Mit der derzeit unveröffentlichten NoGit-Version ist dies ganz
Ben Wilde,
Beachten Sie beim Hinzufügen einer neuen Lösung, dass das "Add to Git Repository" unten rechts nicht aktiviert ist
Iman
1
Keine der folgenden Antworten funktioniert für mich. Also habe ich nur eine Problemumgehung verwendet: Studio schließen, .git-Ordner in einen beliebigen Namen umbenennen, z. B. .git1, Studio öffnen, git-Ordner wieder in .git umbenennen. Denken Sie daran, dass Sie einen zusätzlichen Punkt am Ende des Namens hinzufügen müssen, um einen Ordnernamen zu erhalten, der mit einem Punkt in Windows beginnt, dh ".git1".
Bruha

Antworten:

210

Die Lösung ist viel einfacher. Sie müssen lediglich drei Dateien aus dem UNC-Pfad des Projekts entfernen.

Navigieren Sie zum UNC-Pfad Ihrer Lösung.

Beispiel: C: \ Benutzer \ Ihr Benutzername \ Dokumente \ Visual Studio 2015 \ Projekte \ Ihr Projektordner

Löschen Sie dann die .git*Dateien und den Ordner dauerhaft ("UMSCHALT + ENTF") . Es gibt zwei Dateien und einen Ordner, die möglicherweise ausgeblendet sind. Stellen Sie daher sicher, dass Ihre Ordner und Suchoptionen> Ansicht> Ausgeblendete Dateien, Ordner und Laufwerke anzeigen (Optionsfeld) ausgewählt sind.

Die Dateien, die dauerhaft gelöscht werden sollen, sind:

.gitignore (Datei)

.gitattributes (Datei)

.git (Ordner)

Öffnen Sie Visual Studio erneut und es besteht keine Beziehung mehr zur Git-Quellcodeverwaltung. Wenn Sie es so weit wie möglich aus der Registrierung entfernen möchten, können Sie dies, aber das sollte nicht notwendig sein, abgesehen von der "Haushaltsführung" Ihres Computers.

Wendel
quelle
2
+1. Nach meiner Erfahrung scheint das Spielen mit der Registrierung nicht allzu gut zu funktionieren. Ich habe dies getan, nachdem ich mein Projekt an einen anderen Speicherort (eine VM in einen lokalen Speicherort) kopiert und nach dem Entfernen von .gitignore, .gitattributes und .git den Trick ausgeführt habe.
Cr1pto
42
-1 Hiermit wird nicht die Git-Zuordnung in VS entfernt, sondern das Git-Repository selbst. Der Grund, warum VS mit diesen Schritten nicht mehr auf Git abgebildet wird, ist, dass Sie das Repo weggeblasen haben. Was ist mit Leuten, die Git verwenden wollen, aber nicht wollen, dass VS sich einmischt? Das hat das OP gefragt.
Rob Levine
5
@Richard_D - im Grunde - wenn Sie git in üblichen Weise verwenden, dann ist dieser .git Ordner ist git. Es ist sowohl Ihre lokale Kopie von allem, was sich auf Ihrem Upstream-Git-Server befindet, als auch wahrscheinlich die einzige Kopie aller lokalen Zweige, die Sie erstellt, aber nicht gepusht haben. Viele Leute verwenden Git über die Befehlszeile oder Tools wie SourceTree und möchten die Git-Integration in VS nicht verwenden. In diesem Fall möchten wir lediglich die Git-Unterstützung in VS deaktivieren und nicht unsere lokale Git-Installation manipulieren. Ist das sinnvoller oder habe ich Ihre Besorgnis falsch verstanden?
Rob Levine
4
Das ist eine schreckliche Idee. Auch kriminell fahrlässig fällt mir ein. Sicherheitsgurt-Defeater ist ein anderer. Dadurch werden keine Zuordnungen entfernt, sondern das Repository selbst gelöscht.
Panagiotis Kanavos
2
In meinem Fall hat es perfekt funktioniert. Aus Versehen hatte ich versucht, ein Projekt zur Quellcodeverwaltung hinzuzufügen und es so, wie es lokal in ein GIT-Repository gestellt wurde. Dies macht den Zweck der Quellcodeverwaltung zunichte, da ich bei einem Absturz des Laufwerks alles verliere. Ich habe versucht, eine Verbindung zu TFS herzustellen, und es wurde standardmäßig wieder GIT verwendet. Durch das Entfernen aller GIT-Dateien und das erneute Öffnen von VS hat es für mich perfekt funktioniert. +! Guter Herr!
Logixologe
59

Extras -> Optionen -> Quellcodeverwaltung -> Aktuelles Quellcodeverwaltungs-Plug-In: Keine

Brontomanie
quelle
4
Dies ist die eigentliche Antwort - in meinem Fall habe ich jedoch immer den Benutzer Team Foundation Server für die Versionskontrolle. Scheint, als würde Microsoft den Git vorantreiben - mag es nicht.
Alexey Shevelyov
Dadurch wird nur das Projekt geschlossen und die Quellcodeverwaltung in Visual Studio deaktiviert. Wenn Sie das nächste Mal das Projekt öffnen, wird die Git-Integration wieder aktiviert.
Skye MacMaster
40

Kurzfassung

  1. Entfernen Sie die entsprechenden Einträge unter HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Entfernen Sie, HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositorywenn es mit dem Repo identisch ist, das Sie entfernen möchten.

Hintergrund

Es scheint, als würde Visual Studio alle Git-Repositorys verfolgen, die es gesehen hat. Selbst wenn Sie das Projekt schließen, das auf ein Repository verweist, werden möglicherweise alte Einträge in der Liste angezeigt.

Dieses Problem ist in Visual Studio nicht neu:

VS2013 - Wie entferne ich das lokale Git-Repository aus dem Team Explorer-Fenster, wenn die Option Entfernen immer deaktiviert ist?

Git-Bindung aus Visual Studio 2013-Lösung entfernen?

Dies alles scheint eine Menge Arbeit für etwas zu sein, das wahrscheinlich eine eingebaute Funktion sein sollte. Die obigen "Lösungen" erwähnen Änderungen an der .git-Datei usw.; Ich mag die Idee nicht, Dinge außerhalb von Visual Studio ändern zu müssen, um Dinge innerhalb von Visual Studio zu beeinflussen . Obwohl meine Lösung einige Registrierungsänderungen vornehmen muss (und außerhalb von VS liegt), wirken sich diese zumindest nur auf VS aus. Hier ist die Problemumgehung (lesen Sie: Hack):

Detaillierte Anleitung

Stellen Sie sicher, dass Visual Studio 2015 geschlossen ist, bevor Sie diese Schritte ausführen.

1. Öffnen Sie regedit.exe und navigieren Sie zu

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

Regedit-Repositorys für VS

Möglicherweise werden mehrere "Hash" -Werte angezeigt, die die von VS verfolgten Repositorys darstellen.

2. Suchen Sie das Git-Repository, das Sie aus der Liste entfernen möchten. Schauen Sie sich die nameund pathWerte die richtige Repository zu überprüfen , zu löschen:

Überprüfen Sie das zu löschende Repo

3. Löschen Sie den Schlüssel (und die entsprechenden Unterschlüssel).

(Optional: Vor dem Löschen können Sie mit der rechten Maustaste klicken und Exportieren wählen , um diesen Schlüssel zu sichern, falls Sie einen Fehler machen.) Klicken Sie nun mit der rechten Maustaste auf den Schlüssel (in meinem Fall ist dies AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9und wählen Sie Löschen ).

4. Überprüfen Sie, ob der LastUsedRepositorySchlüssel auf "etwas anderes" verweist.

Wenn die Repository-Zuordnung, die Sie in den obigen Schritten entfernen möchten, gespeichert ist LastUsedRepository, müssen Sie auch diesen Schlüssel entfernen. Navigieren Sie zuerst zu:

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

Position des allgemeinen Schlüssels

und löschen Sie den Schlüssel LastUsedRepository(der Schlüssel wird bei Bedarf von VS neu erstellt). Wenn Sie Bedenken haben, den Schlüssel zu entfernen, können Sie den Wert einfach ändern und auf eine leere Zeichenfolge setzen:

Zuletzt verwendetes Repo löschen

Wenn Sie Visual Studio 2015 erneut öffnen, sollte die Git-Repository-Bindung nicht mehr in der Liste angezeigt werden.

Matthew Kraus
quelle
Ich denke nicht, dass es eine gute Idee ist, mit der Registrierung zu spielen ... wenn dies für einige funktioniert hat, cool, aber meiner Erfahrung nach ist dies nicht die sicherste Wette. Eine sicherere Lösung finden Sie in der Antwort von @ helix.
Cr1pto
3
@Richard_D - Die Antwort von helix entfernt nicht die VS-Zuordnung zu git, sondern zerstört das git-Repo selbst, was das OP nicht zu fragen scheint. Das Hacken der Registrierung ist nicht ideal, aber es versucht zumindest, das eigentliche Problem zu lösen "Ich verwende ein Git-Repo, möchte aber nicht, dass VS sich einmischt"
Rob Levine
Ich sehe, dass dies die Frage des OP beantwortet, aber ist dies die richtige Antwort? Ich bin nicht sicher. Bitte sehen Sie meine Fragen in der Antwort von @ Helix. Danke Rob, schätze deinen Einblick.
bis
1
VS2015 stellt diese Registrierungseinträge nur beim nächsten Öffnen der Lösung wieder her.
Amit G
1
Entwickler sollten keine Angst haben, die Windows-Registrierung zu bearbeiten. Besonders wenn es offensichtlich ein Visual Studio-Schlüssel ist! Das Löschen des .git-Verzeichnisses ist für mich keine Option.
0xF
21

Ein Git-Repository kann in VS-2015 aus der Liste der lokalen Git-Repositorys entfernt werden, wenn es nicht mehr das aktive Projekt ist.

Ihr Screenshot enthält nur ein Repository und ist aktiv, sodass Sie es nicht entfernen können.

Wenn Sie über zwei oder mehr Repositorys verfügen, wird eines davon in Fettdruck angezeigt und repräsentiert das aktive Repository. Andere nicht aktive Repositorys können zu diesem Zeitpunkt entfernt werden.

Um Ihr Problem zu lösen, können Sie, wenn Sie eine Verbindung mit einem zweiten lokalen Repository herstellen, das in Ihrem Screenshot hervorgehobene entfernen.

Leider scheint Team Explorer immer ein Repository aktiv zu halten. Ich bin mir nicht sicher, wie ich es davon überzeugen soll, ganz loszulassen, ohne zu einem anderen Repository zu wechseln.

Chris C.
quelle
Aber wie "verbinden" Sie sich mit den anderen Repositorys? Es scheint, als ob VS, sobald es sich in einem Repo befindet, keine Verbindung zu einem anderen mit derselben Option "Zur Sorce-Steuerung hinzufügen" im Menü des Lösungs-Explorers herstellen kann. (NVM Löschen der .git und anderer Git-Dateien aus dem Lösungsverzeichnis funktionierte für mich.)
Gramm
@Gramm. Unter Lokale Git-Repositorys (siehe OP-Screenshot) können Sie ein 'Neues' Git-Repository erstellen oder ein vorhandenes 'Klonen'. Wenn Sie ein neues Git-Repository erstellen, geben Sie ihm einen Pfad auf Ihrer lokalen Festplatte und klicken Sie dann auf Erstellen. Danach wird es in Ihrer Liste angezeigt. Doppelklicken Sie auf das neue Repository. Es wird fett hervorgehoben und hinter den Kulissen zum aktiven Repository. Zu diesem Zeitpunkt können Sie andere Repositorys aus der Liste entfernen.
Chris C.
Das bedeutet, ein neues lokales Repo zu erstellen und kein vorhandenes Projekt mit einem vorhandenen Github-Repo zu verbinden. Hoppla, bei einem zweiten Durchlesen sehe ich, dass das Entfernen die einzige Frage ist. Wie man sich mit dem Bestehenden verbindet, ist kein Teil der Frage, mein Fehler.
Gramm
18

Das Entfernen des versteckten .git-Ordners hat bei mir funktioniert.

Sensei
quelle
Dadurch wird der Ordner von einem Git-Checkout in einen Ordner umgewandelt. Sicher sollte man den Zweck eines Checkout-Verzeichnisses nicht ändern, da Visual Studio dies oder jenes tut.
Cristian Amarie
Super spät, aber vielen Dank ... Dies musste einer der frustrierendsten und nervigsten Morgen meiner gesamten Karriere sein, was für eine dumme Funktionalität sie eingebaut haben, um damit
umzugehen
11

Die obige Antwort hat bei mir nicht funktioniert. Die Registrierungseinträge werden nur automatisch neu hinzugefügt, wenn ich die Lösung in Visual Studio öffne. Ich habe die Lösung in einem der Links in Matthews Antwort gefunden, daher wird ihm immer noch die richtige Antwort zugesprochen.

Git-Bindung aus Visual Studio 2013-Lösung entfernen?

Entfernen Sie den versteckten .gitOrdner in Ihrem Lösungsordner.

Ich habe auch die .gitattributesund .gitignore-Dateien entfernt, um meinen Ordner sauber zu halten.

Gene S.
quelle
2
Dies ist nicht sinnvoll, wenn Sie möchten, dass das Projekt von git verwaltet wird, nur nicht über Team Explorer. Ich persönlich finde, dass Team Explorer meine Verwendung von Git über ein anderes VS-Plugin durcheinander bringt, was völlig unerwünscht ist.
Henry Wilson
Dadurch wird das Git-Add-In nicht aus VS entfernt. VS schlägt weiterhin den Git-Busch und es ist erschwerend.
IAbstract
@IAbstract Bei der Frage wird nicht gefragt, ob das Git-Add-In aus VS entfernt werden soll.
Gene S
@ Henry Wilson Es scheint nicht, dass Ihr Kommentar für die Frage relevant ist. Meine Antwort entfernt die Bindung / Zuordnung aus Visual Studio. Es funktioniert für mich und eindeutig für andere.
Gene S
1
Es ist völlig relevant für die Frage! Das OP gibt nicht an, ob er git für die Quellcodeverwaltung verwendet oder nicht, er möchte lediglich wissen, wie die Bindung in VS entfernt werden kann. Wenn Sie den Ordner .git und die Dateien .gitattributes / .gitignore löschen, wird davon ausgegangen, dass Sie git nicht für die Quellcodeverwaltung verwenden, was möglicherweise bei vielen Personen der Fall ist.
Henry Wilson
9

Die NoGit-Erweiterung verbirgt das Problem einfach, indem der Git-Quellcodeverwaltungsanbieter bei jedem Laden der Lösung deaktiviert wird. Diese Aufgabe wird für jede in Visual Studio geladene Lösung ausgeführt.

Ich habe das Problem gelöst, indem ich ein anderes Projekt geöffnet und das Git-Repository aus den lokalen Git-Repositorys entfernt habe, wie von Chris C. vorgeschlagen (Ansicht> Team Explorer> Lokale Git-Repositorys, wählen Sie das zu entfernende Repository aus und klicken Sie auf Entfernen). Dann habe ich den Ordner .git aus dem Projektpfad entfernt, wie von helix vorgeschlagen. Das Projekt wurde wieder geöffnet und endlich war die Git-Integration weg!

jeanie77
quelle
Das Entfernen des .git-Ordners und einiger .git-Dateien aus dem Lösungsordner hat das Problem für mich behoben. Vielen Dank an alle!
PTansey
8
  1. Navigieren Sie zu Ihrem Projektverzeichnis
  2. Klicken Sie auf den Ordner Menü-> Extras-> Ordneroptionen
  3. Wählen Sie die Registerkarte Ansicht
  4. Wählen Sie unter Datei und Ordner die Option Versteckte Dateien, Ordner und Laufwerke anzeigen
  5. Klicken Sie auf OK
  6. Löschen Sie den .gitOrdner
  7. Schließen Sie Visual Studio und öffnen Sie es erneut
  8. Öffnen Sie Ihr Projekt
  9. Getan. :) :)

Sichere Codierung.

Rodney Godfried
quelle
1
Das ist NICHT das, was wir versuchen zu tun. Wir wollen Git, wir wollen einfach keine VS-Integration mit Git.
Gerry
7

Es ist so einfach,

  1. Stellen Sie sicher, dass Sie nicht mit dem Projekt verbunden sind, das Sie löschen möchten

  2. Das Projekt wird im Solution Explorer geschlossen

    Das ist alles, wenn Sie es jetzt erneut versuchen, wird die Aktion zum Entfernen aktiviert

erradi mourad
quelle
Vielen Dank. Dies ist die einfachste und sollte als Antwort ausgewählt werden.
Ronald Ramos
Funktioniert, wenn Sie sehen, dass die Option zum Entfernen weiterhin deaktiviert ist, schließen und öffnen Sie Visual Studio erneut. Ich habe es mit VS 2017
Freedeveloper
5

Ich habe einige Zeit damit verbracht, die Git-Integration aus meinem Visual Studio 2015-Projekt zu entfernen. Jedes Mal, wenn ich Git aus Visual Studio entferne und TFS hinzufüge, indem ich Folgendes befolge - Extras -> Option -> Quellcodeverwaltung -> Plugin-Auswahl -> Visual Studio Team Foundation Server, kam es zurück.

Meine Lösung war -

Festlegen des physischen Speicherorts meines Projekts - Alle versteckten Dateien anzeigen. Sie können dies tun, indem Sie versteckte Dateien und Ordneroptionen von Windows anzeigen. dann merke ich, dass es einen versteckten Ordner namens .git etwas gab. Ich habe eine vollständige Sicherung meines Projektordners und auch des Git-Ordners alle anderen erforderlichen Sicherungen durchgeführt (ich habe diese Sicherung für den Fall beibehalten, dass mein Projekt unterbrochen wird, damit ich zum vorherigen Zustand zurückkehren kann).

dann habe ich den versteckten .git-Ordner und alle anderen .git-bezogenen Dateien gelöscht.

dann versuche ich Extras -> Option -> Quellcodeverwaltung -> Plugin-Auswahl -> Visual Studio Team Foundation Server. dann öffne ich das projekt mit visual studio- datei -> öffnen -> projekt / lösung ..

Danach bemerkte ich im Lösungs-Explorer, dass ich mit der rechten Maustaste auf den Lösungsnamen klicke, siehe Option "Quellcodeverwaltung", und auch im Projekt - Rechtsklick sehe ich "Soution zur Quellcodeverwaltung hinzufügen". Dieses Mal wurde keine Lösung zu Git hinzugefügt. .

Es ist auch gut, eine Git-Verbindung von Ihrem Quellcodeverwaltungs-Exploerer zu entfernen.

Die Hauptsache ist also, dass Sie sicherstellen, dass Ihre Projektdatei und jede andere Git-Erweiterung keine versteckte Git-Datei enthält. Ich hoffe, dies ist für jemanden hilfreich.

Ein Mann
quelle
2

Neben der Antwort von Juliano Nunes Silva Oliveira besteht die einfachste und sauberste Möglichkeit, ohne sich in den Regedit zu hacken, versteckte Git-Ordner zu entfernen oder Ihre VS15-Einstellungen zu ändern, darin, eine Verbindung zu einem anderen Repository herzustellen. Wenn die Verbindung hergestellt ist, wird der Text des anderen Repositorys fett gedruckt. Wählen Sie dann Ihr lokales Git-Repository aus . Jetzt sehen Sie, dass die

Entfernen

Der Menüpunkt ist aktiviert, damit Sie Ihr lokales Git-Repository löschen können .

Dies ist die gleiche Art von Verhalten beim Umgang mit Zweigen, wenn Sie Git mit Visual Studio 2015 verwenden. Sie müssen einen anderen Zweig auswählen, bevor Sie den Zweig löschen können, den Sie löschen möchten.

Für diejenigen, die Visualisierung benötigen, um es besser zu verstehen. siehe Linkbild: wie es gemacht wird

Viel Spaß beim Codieren

Quoc Nguyen
quelle
1

Es wird nur nach dem Vorhandensein des Verzeichnisses .git im Lösungsordner gesucht. Löschen Sie diesen möglicherweise ausgeblendeten Ordner, und Visual Studio betrachtet ihn nicht mehr als Git-Projekt.

M Ahmad
quelle
Das liegt daran, dass es kein Git-Projekt mehr ist, wenn Sie es entfernen . Sie haben Ihre Versionierung effektiv zerstört. Wenn Sie das wollen, ist das in Ordnung.
Gliljas
Genau das wollte ich tun. Visual Studio hat beschlossen, meine 30-Tage-Lizenz abzulaufen, als ich sie der Quellcodeverwaltung hinzufügte. Ich habe mein Projekt in einem verwirrenden Zustand belassen und konnte der Dokumentation nicht folgen.
Nathan Goings
1

Stellen Sie eine Verbindung zu einem anderen Repository her (ich habe es mit einem TFS-Repository versucht), gehen Sie dann zu Verbindungen verwalten, klicken Sie mit der rechten Maustaste auf das Git-Repository, und Sie können es möglicherweise entfernen.

Sie müssen den .git-Ordner und die Dateien jedoch noch manuell aus Ihrem Projektpfad entfernen, bevor Sie die Lösung erneut öffnen können.

Juliano Nunes Silva Oliveira
quelle
1

@Matthew Kraus Bitte klicken Sie in der Menüleiste auf Werkzeuge, dann auf Optionen, suchen Sie die Quellcodeverwaltung, wählen Sie "Keine" aus der Dropdown-Liste und klicken Sie auf OK. Löschen Sie den versteckten .git-Ordner aus Ihrem Projektordner. Öffnen Sie Ihr Projekt erneut. Geben Sie hier die Bildbeschreibung ein

Tanvir
quelle
0

Gehen Sie zu Control Panel\User Accounts\Credential Managerund wählen Sie Windows Credentialdann Konto von Git entfernen.


quelle
0

Laden Sie die Erweiterung von Microsoft herunter und installieren Sie sie, um die GIT-Erweiterung von Visual Studio und SSMS zu entfernen.

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

SSMS: Bearbeiten Sie die Datei ssms.pkgundef unter C: \ Programme (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ ssms.pkgundef und entfernen Sie alle git-bezogenen Einträge

Ramkumar Sambandam
quelle
0

Sie können das lokale Git-Repository nicht löschen, wenn es bereits verbunden ist. Schließen Sie also die Lösung, öffnen Sie eine andere Lösung und entfernen Sie das lokale Git-Repository. Vergessen Sie nicht, den versteckten .git- Ordner zu löschen

Netanel Elipaz
quelle