Rimuovi git mapping in Visual Studio 2015


157

Questa domanda non ha nulla a che fare con Git stesso; piuttosto, ha a che fare con la rimozione di un'associazione / mappatura in un repository git che Visual Studio 2015 (VS2015) ha precedentemente visto.

Ecco una schermata del problema: Il pulsante Rimuovi è disattivato

Si noti che il pulsante Rimuovi è disattivato (disabilitato). Come posso rimuovere questa voce dall'elenco "Local Git Repositories"?


E 'facile con il rilascio NoGit attualmente inediti, vedere stackoverflow.com/a/33789257/2284031
Ben Wilde

Quando si aggiunge una nuova soluzione, tenere presente che "aggiungi al repository git" non viene controllato in basso a destra
Iman,

1
Nessuna delle risposte di seguito funziona per me. Quindi ho appena usato una soluzione alternativa: chiudere Studio, rinominare la cartella .git con qualsiasi nome, ad esempio .git1, aprire Studio, rinominare la cartella git in .git. Ricorda che per dare un nome di cartella che inizia con un punto in Windows, devi aggiungere un punto in più alla fine del nome, ad esempio ".git1".
bruha,

Risposte:


210

La soluzione è molto più semplice di così. È sufficiente rimuovere tre file dal percorso UNC del progetto.

Passare al percorso UNC della soluzione.

Esempio: C: \ Utenti \ Nome utente \ Documenti \ Visual Studio 2015 \ Progetti \ Cartella progetti

Quindi eliminare definitivamente ("MAIUSC + CANC") i .git*file e la cartella. Esistono due file e una cartella, che possono essere nascosti, quindi assicurati di avere le tue cartelle e le opzioni di ricerca> Visualizza> mostra i file, le cartelle e le unità nascosti (pulsante di opzione) selezionati.

I file da eliminare definitivamente sono:

.gitignore (file)

.gitattributes (file)

.git (cartella)

Riapri Visual Studio e non c'è più relazione con Git Source Control. Se volessi portarlo fino a rimuoverlo dal registro come menzionato sopra, potresti, ma ciò non dovrebbe essere necessario a parte il "mantenimento della casa" della tua macchina.


2
+1. Nella mia esperienza, giocare con il registro non sembra funzionare troppo bene. L'ho fatto dopo aver copiato il mio progetto in un'altra posizione (un vm in un locale) e dopo aver rimosso .gitignore, .gitattributes e .git, questo ha funzionato.
cr1pto

42
-1 Questo non rimuove la mappatura git in VS, ma rimuove il repository git stesso. Il motivo per cui VS smette di essere mappato su git con questi passaggi è che hai spazzato via il repository. Che dire delle persone che vogliono usare git, ma non vogliono che VS sia coinvolta? Questo è ciò che l'OP stava chiedendo.
Rob Levine,

5
@Richard_D - in pratica - se stai usando git in modo standard, allora questa cartella .git è git. È sia la tua copia locale di tutto ciò che si trova sul tuo server git upstream ed è probabilmente anche l'unica copia di tutti i rami locali che hai creato ma che non hai inviato. Molte persone usano git dalla riga di comando o strumenti come SourceTree e non vogliono usare l'integrazione git in VS. In questo caso, tutto ciò che vogliamo è disabilitare il supporto git in VS, non in realtà manomettere la nostra installazione git locale. Ha più senso o ho frainteso la tua preoccupazione?
Rob Levine,

4
Questa è un'idea orrenda . Mi viene in mente anche la negligenza criminale. I cacciatori di cinture di sicurezza sono un altro. Questo non rimuove alcuna mappatura, sta eliminando il repository stesso.
Panagiotis Kanavos,

2
Nel mio caso ha funzionato perfettamente. Per errore mi ero sforzato di aggiungere un progetto al controllo del codice sorgente e in qualche modo come inserirlo in un repository GIT localmente. Questo smentisce lo scopo del controllo del codice sorgente perché se l'unità si blocca, perdo tutto. Ho provato a connettermi a TFS e ha continuato a tornare a GIT. Rimuovendo tutti i file GIT e riaprendo VS, ha funzionato perfettamente per me. +! gentile signore!
logixologo

59

Strumenti -> Opzioni -> Controllo sorgente -> Plug-in Controllo sorgente corrente: Nessuno


4
Questa è la vera risposta - nel mio caso, sebbene io abbia sempre utilizzato Team Foundation Server per il controllo della versione. Sembra che Microsoft stia spingendo Git - non mi piace.
Alexey Shevelyov,

Questo chiude il progetto e disabilita il controllo del codice sorgente in Visual Studio. Alla successiva apertura del progetto l'integrazione di git viene riattivata.
Skye MacMaster il

40

Versione breve

  1. Rimuovere gli ingressi appropriati (y | i) in HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Rimuovi HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositoryse è uguale al repository che stai tentando di rimuovere.

sfondo

Sembra che Visual Studio tenga traccia di tutti i repository git che ha visto. Anche se si chiude il progetto che faceva riferimento a un repository, le voci precedenti potrebbero comunque apparire nell'elenco.

Questo problema non è nuovo in Visual Studio:

VS2013 - Come rimuovo il repository git locale dalla finestra di Team Explorer quando l'opzione Rimuovi è sempre disabilitata?

Rimuovere l'associazione Git dalla soluzione di Visual Studio 2013?

Tutto questo sembra un sacco di lavoro per qualcosa che probabilmente dovrebbe essere una funzionalità integrata. Le "soluzioni" sopra menzionano la modifica del file .git ecc .; Non mi piace l'idea di dover cambiare le cose al di fuori di Visual Studio per influire sulle cose all'interno di Visual Studio. Sebbene la mia soluzione debba apportare alcune modifiche al registro (ed è esterna a VS), almeno queste riguardano solo VS. Ecco la soluzione (leggi: hack):

Istruzioni dettagliate

Assicurati di aver chiuso Visual Studio 2015 prima di seguire questi passaggi.

1. Apri regedit.exe e vai a

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

Archivi Regedit per VS

Potresti visualizzare più valori "hash" che rappresentano i repository che VS sta monitorando.

2. Trova il repository git che desideri rimuovere dall'elenco. Guarda i valori namee pathper verificare il repository corretto da eliminare:

verifica il repository da eliminare

3. Elimina la chiave (e le relative sottochiavi).

(Facoltativo: prima di eliminare, è possibile fare clic con il pulsante destro del mouse e scegliere Esporta per eseguire il backup di questa chiave in caso di errore.) Ora, fare clic con il tasto destro del mouse sulla chiave (nel mio caso è AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9e selezionare Elimina ).

4. Controlla che la LastUsedRepositorychiave indichi "qualcos'altro".

Se la mappatura del repository che si sta tentando di rimuovere nei passaggi precedenti è archiviata LastUsedRepository, è necessario rimuovere anche questa chiave. Prima vai a:

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

posizione della chiave generale

ed elimina la chiave LastUsedRepository(la chiave verrà ricreata da VS se necessario). Se sei preoccupato di rimuovere la chiave, puoi semplicemente modificare il valore e impostarlo su una stringa vuota:

elimina l'ultimo repo usato

Quando si apre nuovamente Visual Studio 2015, l'associazione del repository git non dovrebbe più apparire nell'elenco.


Non penso che giocare con il registro sia una buona idea ... se questo ha funzionato per alcuni, bello, ma nella mia esperienza non è la scommessa più sicura. Vedi la risposta di @ helix per una soluzione molto più sicura.
cr1pto

3
@Richard_D - la risposta di helix non rimuove la mappatura VS per git, ma distrugge il repository git stesso, che non è ciò che l'OP sembra chiedere. L'hacking del registro non è l'ideale, ma almeno tenta di risolvere il problema reale "Sto usando un repository git ma non voglio che VS sia coinvolto"
Rob Levine,

Vedo che questo risponde alla domanda del PO, ma è questa la risposta corretta? Non sono sicuro. Si prega di vedere le mie domande nella risposta di @ Helix. Grazie Rob, apprezzo la tua comprensione.
cr1pto

1
VS2015 ripristina queste voci di registro solo alla successiva apertura della soluzione.
Amit G,

1
Gli sviluppatori non dovrebbero aver paura di modificare il registro di Windows. Soprattutto quando è ovviamente una chiave di Visual Studio! L'eliminazione della directory .git non è un'opzione per me.
0xF,

21

Un repository Git può essere rimosso dall'elenco dei repository Git locali in VS-2015 quando non è più il progetto attivo.

La schermata ha un solo repository presente ed è attiva, quindi non puoi rimuoverla.

Quando si hanno due o più repository, uno di essi verrà mostrato in grassetto che rappresenta il repository attivo. Altri repository non attivi possono essere rimossi in quel momento.

Quindi, per risolvere il tuo problema, se ti connetti con un secondo repository locale, sarai in grado di rimuovere quello che stai evidenziando nella schermata.

Sfortunatamente, Team Explorer sembra mantenere sempre attivo un repository. Non sono sicuro di come convincerlo a lasciarsi andare del tutto senza passare a un altro repository.


Ma come si "collega" agli altri repository? Sembra che una volta che VS è su un repository non ti permetta di connetterti ad un altro usando la stessa opzione "Aggiungi a Sorce Control" nel menu Esplora soluzioni. (NVV eliminando .git e altri file git dalla dir della soluzione ha funzionato per me.)
Grammo

@Grammo. Sotto Local Git Repositories (vedi schermata OP) è possibile creare un 'Nuovo' repository Git o 'Clonare' uno esistente. Se crei un nuovo repository git, assegnagli un percorso sul disco rigido locale, quindi fai clic su Crea. Successivamente, verrà visualizzato nell'elenco. Fai doppio clic sul nuovo repository e verrà evidenziato in grassetto e dietro le quinte diventerà il repository attivo. A quel punto è possibile rimuovere altri repository dall'elenco.
Chris C.,

Ciò sta creando un nuovo repository locale, non collegando un progetto esistente a un repository github esistente. Oops, in una seconda lettura che vedo la rimozione è l'unica domanda. Come connettersi all'esistente non fa parte della domanda, errore mio.
Grammo

18

Rimozione della cartella nascosta .git ha funzionato per me.


Questo trasformerà la cartella da un checkout git in una cartella. Certo, uno non dovrebbe alterare lo scopo di una directory di checkout perché Visual Studio fa questo o quello.
Cristian Amarie,

Super tardi, ma grazie mille ... Questa doveva essere una delle mattine più frustranti e fastidiose di tutta la mia carriera finora, che stupida funzionalità hanno costruito per gestire questo ...
haag1

11

La risposta sopra non ha funzionato per me. Le voci del Registro di sistema verrebbero semplicemente aggiunte automaticamente quando ho aperto la soluzione in Visual Studio. Ho trovato la risoluzione in uno dei link nella risposta di Matthews anche se quindi il merito va ancora a lui per la risposta corretta.

Rimuovere l'associazione Git dalla soluzione di Visual Studio 2013?

Rimuovere la .gitcartella nascosta nella cartella della soluzione.

Ho anche rimosso i file .gitattributese .gitignoresolo per mantenere pulita la mia cartella.


2
Questo non serve a niente se vuoi che il progetto sia gestito da Git, ma non tramite Team Explorer. Personalmente trovo che Team Explorer fa casino con il mio uso di Git tramite un diverso plugin VS, il che è del tutto indesiderabile.
Henry Wilson,

Questo non rimuove il componente aggiuntivo git da VS. VS continua a battere il bush Git ed è aggravante.
Estratto del

@IAbstract La domanda non chiede di rimuovere il componente aggiuntivo git da VS.
Gene S,

@Henry Wilson Non sembra che il tuo commento sia rilevante per la domanda. La mia risposta rimuove l'associazione / mappatura da Visual Studio. Funziona per me e chiaramente funziona per gli altri.
Gene S,

1
È del tutto rilevante per la domanda! L'OP non afferma se sta usando git per il controllo del codice sorgente o meno, vuole solo sapere come sbarazzarsi del legame in VS. L'eliminazione della cartella .git e dei file .gitattributes / .gitignore presuppone che non si stia effettivamente utilizzando git per il controllo del codice sorgente, cosa che potrebbe benissimo essere in molti.
Henry Wilson,

9

L'estensione NoGit nasconde semplicemente il problema, disattivando il provider di controllo del codice sorgente Git ogni volta che viene caricata la soluzione. Fa questo lavoro per ogni soluzione caricata in Visual Studio.

Ho risolto aprendo un altro progetto e rimuovendo il repository Git dai repository Git locali, come suggerito Chris C. (Visualizza> Esplora team> Repository Git locali, selezionare il repository che deve essere rimosso e fare clic su Rimuovi). Quindi ho rimosso la cartella .git dal percorso del progetto, come suggerito da helix. Riapre il progetto e finalmente l'integrazione di Git era sparita!


La semplice rimozione della cartella .git e di un paio di file .git dalla cartella delle soluzioni ha risolto il problema. Ringrazia tutti!
PTansey,

8
  1. Passare alla directory del progetto
  2. Fai clic sulla cartella Menu-> Strumenti-> Opzioni cartella
  3. Seleziona la scheda Visualizza
  4. Selezionare In File e cartelle la Mostra file, cartelle e unità nascosti
  5. Clicca OK
  6. Elimina la .gitcartella
  7. Chiudi e riapri Visual Studio
  8. Apri il tuo progetto
  9. Fatto. :)

Codifica sicura.


1
Non è quello che stiamo cercando di fare. Vogliamo git, ma non vogliamo l'integrazione VS con git.
Gerry,

7

È così semplice

  1. assicurati di non essere collegato al progetto che desideri eliminare

  2. il progetto è chiuso in Esplora soluzioni

    Questo è tutto, se riprova adesso, l'azione di rimozione sarà abilitata


Grazie. Questo è il più semplice e dovrebbe essere selezionato come risposta.
Ronald Ramos,

Funziona, se vedi che l'opzione di rimozione continua disabilita, chiudi e riapri Visual Studio. L'ho usato con VS 2017
Freedeveloper il

5

Ho trascorso del tempo per rimuovere l'integrazione git dal mio progetto Visual Studio 2015. ogni volta che rimuovo git da Visual Studio e aggiungo TFS seguendo questo - Strumenti -> opzione -> sourceControl -> selezione plugin -> Visual Foundation Team Foundation Server, era solito tornare.

La mia soluzione era:

rendendo la posizione fisica del mio progetto - Mostra tutti i file nascosti. puoi farlo mostrando i file nascosti e l'opzione cartella di windows. poi mi rendo conto che c'era una cartella nascosta chiamata .git qualcosa. Ho tenuto un backup completo della mia cartella del progetto e anche della cartella git di qualsiasi altro backup necessario (ho tenuto questo backup in caso di interruzioni del mio progetto, in modo da poter tornare alle condizioni precedenti).

quindi ho eliminato la cartella nascosta .git e tutti gli altri file .git correlati.

quindi provo a Strumenti -> opzione -> sourceControl -> selezione plugin -> Visual Foundation Team Foundation Server. poi apro il progetto tramite visual studio- File -> apri -> progetto / soluzione ..

dopo di che ho notato in Esplora soluzioni, facendo clic con il pulsante destro del mouse sul nome della soluzione, vedere l'opzione "Controllo del codice sorgente" e anche nel progetto. Fare clic con il pulsante destro del mouse su "Aggiungi soluzione al controllo del codice sorgente" .. e questa volta non ha aggiunto la soluzione a git. .

inoltre è bene rimuovere qualsiasi connessione git dal tuo sfruttatore di controllo del codice sorgente..se c'è ...

quindi la cosa principale è che assicurati che non ci siano file git nascosti nel tuo file di progetto e qualsiasi altra estensione git .. spero che questo possa essere utile a qualcuno ..


2

Oltre alla risposta di Juliano Nunes Silva Oliveira , il modo più semplice e pulito senza entrare nel regedit, rimuovere cartelle .git nascoste o modificare le impostazioni di VS15 è collegarsi a un altro repository. Quando sei connesso, vedi il testo dell'altro repository in grassetto, quindi seleziona il tuo repository Git locale . Ora vedi che il

Rimuovere

la voce di menu è abilitata in modo da poter eliminare il repository Git locale .

È lo stesso tipo di comportamento quando si ha a che fare con Branches quando si utilizza Git con Visual Studio 2015. È necessario selezionare un ramo diverso prima di poter eliminare il ramo che si desidera eliminare.

Per chi ha bisogno di visualizzazione per capirlo meglio. vedi immagine link: come è fatto

Buona codifica


1

Cerca solo la presenza della directory .git nella cartella della soluzione. Elimina quella cartella, possibilmente nascosta, e Visual Studio non la considererà più un progetto git.


Questo perché se lo rimuovi non è più un progetto git . Hai effettivamente distrutto il tuo controllo delle versioni. Se è quello che vuoi fare, va bene.
gliljas,

Questo è esattamente quello che volevo fare. Visual Studio ha deciso di scadere la mia licenza di 30 giorni mentre la aggiungevo al controllo del codice sorgente. Ho lasciato il mio progetto in uno stato confuso e non ho potuto seguire la documentazione.
Nathan Goings

1

Connettiti a un altro repository (ho provato con un repository TFS), quindi vai a Gestisci connessioni, fai clic con il pulsante destro del mouse sul repository Git e potresti essere in grado di rimuoverlo.

Tuttavia, è ancora necessario rimuovere manualmente la cartella .git e i file dal percorso del progetto prima di aprire nuovamente la soluzione.


1

@Matthew Kraus Fare clic su Strumenti dalla barra dei menu, quindi fare clic su Opzioni, Trova il controllo del codice sorgente, quindi selezionare "Nessuno" dall'elenco a discesa e fare clic su OK. Elimina la cartella nascosta .git dalla cartella del tuo progetto. Riapri il tuo progetto. inserisci qui la descrizione dell'immagine


0

Vai a Control Panel\User Accounts\Credential Managere seleziona, Windows Credentialquindi rimuovi l'account di git.



0

Non è possibile eliminare il repository git locale quando è già connesso. quindi chiudere la soluzione, aprire un'altra soluzione e quindi rimuovere il repository git locale. non dimenticare di eliminare .git cartella nascosta funziona per me

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.