Eliminar la asignación de git en Visual Studio 2015

157

Esta pregunta no tiene nada que ver con git en sí; más bien, tiene que ver con eliminar un enlace / mapeo a un repositorio git que Visual Studio 2015 (VS2015) ha visto anteriormente.

Aquí hay una captura de pantalla del problema: El botón Eliminar está atenuado

Observe que el botón Eliminar está atenuado (deshabilitado). ¿Cómo puedo eliminar esta entrada de la lista "Repositorios locales de Git"?

Matthew Kraus
fuente
Es fácil con el lanzamiento de NoGit actualmente no publicado, consulte stackoverflow.com/a/33789257/2284031
Ben Wilde
Al agregar una nueva solución, tenga en cuenta que el "Agregar al repositorio de git" no está marcado en la esquina inferior derecha
Iman
1
Ninguna de las respuestas a continuación me funciona. Así que solo utilicé una solución alternativa: cierre Studio, cambie el nombre de la carpeta .git a cualquier nombre, por ejemplo .git1, abra Studio, cambie el nombre de la carpeta git a .git. Recuerde que para dar un nombre de carpeta que comience con un punto en Windows, debe agregar un punto extra al final del nombre, es decir, ".git1".
bruha

Respuestas:

210

La solución es mucho más simple que eso. Simplemente necesita eliminar tres archivos del proyecto UNC Path.

Navegue a la ruta UNC de su solución.

Ejemplo: C: \ Usuarios \ Su nombre de usuario \ Documentos \ Visual Studio 2015 \ Proyectos \ Su carpeta de proyectos

Luego, elimine permanentemente ("SHIFT + DEL") los .git*archivos y la carpeta. Hay dos archivos y una carpeta, que pueden estar ocultos, así que asegúrese de tener sus carpetas y opciones de búsqueda> Ver> mostrar archivos, carpetas y unidades ocultos (botón de radio) seleccionados.

Los archivos para eliminar permanentemente son:

.gitignore (archivo)

.gitattributes (archivo)

.git (carpeta)

Vuelva a abrir Visual Studio y no habrá más relación con el control de código fuente de Git. Si quisiera llevarlo tan lejos como eliminarlo del registro como se mencionó anteriormente, podría hacerlo, pero eso no debería ser necesario aparte del "mantenimiento" de su máquina.

hélice
fuente
2
+1. En mi experiencia, jugar con el registro no parece funcionar demasiado bien. Hice esto después de copiar mi proyecto a otra ubicación (un vm a un local) y después de eliminar .gitignore, .gitattributes y .git, esto funcionó.
cr1pto
42
-1 Esto no está eliminando el mapeo git en VS, está eliminando el repositorio git en sí. La razón por la cual VS deja de ser mapeado a git con estos pasos es que has dejado atrás el repositorio. ¿Qué pasa con las personas que quieren usar git, pero no quieren que VS se involucre? Esto es lo que preguntaba el OP.
Rob Levine
55
@Richard_D, básicamente, si está utilizando git de la manera estándar, entonces esta carpeta .git es git. Es su copia local de todo lo que está en su servidor git ascendente y también es probablemente la única copia de cualquier sucursal local que haya creado pero que no haya enviado. Mucha gente usa git desde la línea de comandos, o herramientas como SourceTree y no quieren usar la integración de git en VS. En este caso, todo lo que queremos es deshabilitar el soporte de git en VS, en realidad no alterar nuestra instalación local de git. ¿Tiene más sentido o he entendido mal su preocupación?
Rob Levine
44
Esta es una idea horrible . Me viene a la mente negligencia criminal. Los vencidos del cinturón de seguridad es otro. Esto no elimina ninguna asignación, está eliminando el repositorio en sí.
Panagiotis Kanavos
2
En mi caso funcionó perfectamente. Por error, intenté agregar un proyecto al control de origen y, de alguna manera, ponerlo en un repositorio GIT localmente. Esto elimina el propósito del control de la fuente porque si la unidad falla, lo pierdo todo. Traté de conectarme a TFS y no volví a GIT. Al eliminar todos los archivos GIT y volver a abrir VS, funcionó perfectamente para mí. +! ¡buen señor!
logixologist
59

Herramientas -> Opciones -> Control de fuente -> Complemento de control de fuente actual: Ninguno

Brontomania
fuente
44
Esta es la respuesta real, en mi caso, aunque siempre he usado Team Foundation Server para el control de versiones. Parece que Microsoft está presionando al Git, no me gusta.
Alexey Shevelyov
Esto solo cierra el proyecto y deshabilita el control de fuente en Visual Studio. La próxima vez que abra el proyecto, la integración de git se vuelve a habilitar.
Skye MacMaster
40

Version corta

  1. Elimine la entrada apropiada (y | ies) debajo de HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\Repositories.

  2. Eliminar HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\TeamFoundation\GitSourceControl\General\LastUsedRepositorysi es lo mismo que el repositorio que está intentando eliminar.

Antecedentes

Parece que Visual Studio rastrea todos los repositorios git que ha visto. Incluso si cierra el proyecto que hacía referencia a un repositorio, aún pueden aparecer entradas antiguas en la lista.

Este problema no es nuevo en Visual Studio:

VS2013 - ¿Cómo elimino el repositorio git local de la ventana del explorador del equipo cuando la opción Eliminar siempre está desactivada?

¿Eliminar Git vinculante de la solución Visual Studio 2013?

Todo esto parece mucho trabajo para algo que probablemente debería ser una característica incorporada. Las "soluciones" anteriores mencionan hacer modificaciones al archivo .git, etc .; No me gusta la idea de tener que cambiar cosas fuera de Visual Studio para afectar las cosas dentro de Visual Studio. Aunque mi solución necesita hacer algunas ediciones del registro (y es externa a VS), al menos estas solo afectan a VS. Aquí está la solución (lea: hack):

Instrucciones detalladas

Asegúrese de cerrar Visual Studio 2015 antes de seguir estos pasos.

1. Abra regedit.exe y navegue hasta

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

Regedit repositorios para VS

Es posible que vea múltiples valores "hash" que representan los repositorios que VS está rastreando.

2. Busque el repositorio de git que desea eliminar de la lista. Mire los valores namey pathpara verificar el repositorio correcto para eliminar:

verificar repositorio para eliminar

3. Elimine la clave (y las subclaves correspondientes).

(Opcional: antes de eliminar, puede hacer clic con el botón derecho y elegir Exportar para hacer una copia de seguridad de esta clave en caso de que se equivoque). Ahora, haga clic derecho en la clave (en mi caso, esto es AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9y seleccione Eliminar ).

4. Verifique que la LastUsedRepositoryclave apunte a "otra cosa".

Si la asignación de repositorio que está tratando de eliminar en los pasos anteriores está almacenada LastUsedRepository, entonces también deberá eliminar esta clave. Primero navegue a:

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

ubicación de la clave general

y elimine la clave LastUsedRepository(VS volverá a crear la clave si es necesario). Si le preocupa eliminar la clave, puede modificar el valor y establecerlo en una cadena vacía:

eliminar el último repositorio utilizado

Cuando vuelva a abrir Visual Studio 2015, el enlace del repositorio git ya no debería aparecer en la lista.

Matthew Kraus
fuente
No creo que jugar con el registro sea una buena idea ... si esto ha funcionado para algunos, genial, pero en mi experiencia esta no es la apuesta más segura. Vea la respuesta de @ helix para una solución mucho más segura.
cr1pto
3
@Richard_D: la respuesta de helix no elimina la asignación de VS a git, destruye el repositorio de git en sí, que no es lo que parece estar preguntando el OP. Hackear el registro no es ideal, pero al menos intenta resolver el problema real "Estoy usando un repositorio git pero no quiero que VS se involucre"
Rob Levine
Veo que esto responde a la pregunta del OP, pero ¿es esta la respuesta correcta? No estoy seguro. Por favor, vea mis preguntas en la respuesta de @ Helix. Gracias Rob, aprecio tu perspicacia.
cr1pto
1
VS2015 simplemente restaura estas entradas de registro la próxima vez que se abra la solución.
Amit G
1
Los desarrolladores no deberían tener miedo de editar el Registro de Windows. ¡Especialmente cuando es obviamente una clave de Visual Studio! Eliminar el directorio .git no es una opción para mí.
0xF
21

Un repositorio de Git se puede eliminar de la lista de repositorios locales de Git en VS-2015 cuando ya no es el proyecto activo.

Su captura de pantalla solo tiene un repositorio presente, y está activa, por lo que no puede eliminarla.

Cuando tenga dos o más repositorios, uno de ellos se mostrará en NEGRITA que representa el repositorio activo. Otros repositorios no activos pueden, en ese momento, ser eliminados.

Entonces, para resolver su problema, si se conecta con un segundo repositorio local, podrá eliminar el que está resaltando en su captura de pantalla.

Desafortunadamente, Team Explorer parece mantener siempre un repositorio activo. No estoy seguro de cómo convencerlo de que lo deje ir por completo sin cambiar a otro repositorio.

Chris C.
fuente
Pero, ¿cómo se "conecta" a los otros repositorios? Parece que una vez que VS está en un repositorio, no le permite conectarse a otro usando la misma opción "Agregar al control Sorce" en el menú del explorador de soluciones. (nvm eliminar el .git y otros archivos git del directorio de soluciones me funcionó)
Gram
@Gramo. En Repositorios locales de Git (vea la captura de pantalla OP) puede crear un repositorio 'Nuevo' de Git o 'Clonar' uno existente. Si crea un nuevo repositorio git, dele una ruta en su disco duro local, luego haga clic en Crear. Después de eso, aparecerá en tu lista. Haga doble clic en el nuevo repositorio y se resaltará en negrita y detrás de escena se convertirá en el repositorio activo. En ese momento, puede eliminar otros repositorios de la lista.
Chris C.
Eso es hacer un nuevo repositorio local, no conectar un proyecto existente a un repositorio github existente. Vaya, en una segunda lectura, veo que eliminar es la única pregunta. Cómo conectarse a lo existente no es parte de la pregunta, mi error.
Gram
18

Eliminar la carpeta oculta .git funcionó para mí.

sensei
fuente
Esto transformará la carpeta de un pago de git en una carpeta. Claro, uno no debería alterar el propósito de un directorio de pago porque Visual Studio hace esto o aquello.
Cristian Amarie
Super tarde, pero gracias tanto ... Esto tenía que ser uno de los más frustrantes y molestas mañanas de toda mi carrera hasta el momento, lo que es una funcionalidad estúpidos que han incorporado en asa esto ...
haag1
11

La respuesta anterior no me funcionó. Las entradas del registro se volverían a agregar automáticamente cuando abriera la solución en Visual Studio. Sin embargo, encontré la resolución en uno de los enlaces en la respuesta de Matthews, por lo que todavía le doy el crédito por la respuesta correcta.

¿Eliminar Git vinculante de la solución Visual Studio 2013?

Elimine la .gitcarpeta oculta en su carpeta de soluciones.

También eliminé los archivos .gitattributesy .gitignoresolo para mantener limpia mi carpeta.

Gene S
fuente
2
Esto no sirve de nada si desea que el proyecto sea administrado por git, solo que no a través de Team Explorer. Personalmente, encuentro que Team Explorer se mete con mi uso de Git a través de un complemento VS diferente, lo cual es completamente indeseable.
Henry Wilson
Esto no elimina el complemento git de VS. VS continúa golpeando el arbusto de Git y se está agravando.
Resumen AB
@IAbstract La pregunta no pide eliminar el complemento git de VS.
Gene S
@Henry Wilson No parece que tu comentario sea relevante para la pregunta. Mi respuesta elimina el enlace / mapeo de Visual Studio. Funciona para mí y claramente funciona para los demás.
Gene S
1
¡Es completamente relevante para la pregunta! El OP no indica si está usando git para el control de fuente o no, simplemente quiere saber cómo deshacerse del enlace en VS. Al eliminar la carpeta .git y los archivos .gitattributes / .gitignore, se asume que en realidad no está utilizando git para el control de código fuente, lo que muchas personas podrían usar.
Henry Wilson
9

La extensión NoGit simplemente oculta el problema, apagando el proveedor de control de fuente Git cada vez que se carga la solución. Hace este trabajo para cada solución que se carga en Visual Studio.

Lo resolví abriendo otro proyecto y eliminando el repositorio Git de los repositorios locales de Git, como sugirió Chris C. (Ver> Explorador de equipos> Repositorios locales de Git, seleccione el repositorio que debe eliminarse y haga clic en Eliminar). Luego eliminé la carpeta .git de la ruta del proyecto, como lo sugiere helix. ¡Reabrió el proyecto y finalmente la integración de Git se fue!

jeanie77
fuente
Simplemente eliminando la carpeta .git y un par de archivos .git de la carpeta de Soluciones lo arregló por mí. ¡Gracias a todos!
PTansey
8
  1. Navega al directorio de tu proyecto
  2. Haga clic en la carpeta Menú-> Herramientas-> Opciones de carpeta
  3. Seleccione la pestaña Ver
  4. Seleccione En Archivo y Carpetas, Mostrar archivos, carpetas y unidades ocultos
  5. Haga clic en Aceptar
  6. Eliminar la .gitcarpeta
  7. Cierra y vuelve a abrir Visual Studio
  8. Abre tu proyecto
  9. Hecho. :)

Codificación segura

Rodney Godfried
fuente
1
Eso NO es lo que estamos tratando de hacer. Queremos git, simplemente no queremos la integración VS con git.
Gerry
7

Es tan simple,

  1. asegúrese de no estar conectado al proyecto que desea eliminar

  2. proyecto está cerrado en el explorador de soluciones

    Eso es todo, si vuelve a intentarlo ahora, la acción eliminar

erradi mourad
fuente
Gracias. Este es el más simple y debe seleccionarse como respuesta.
Ronald Ramos
Funciona, si ve que la opción eliminar continúa deshabilitada, cierre y abra nuevamente Visual Studio. Lo usé con VS 2017
freedeveloper
5

Pasé un tiempo para eliminar la integración de git de mi proyecto visual studio 2015. cada vez que elimino git de Visual Studio y agrego TFS siguiendo esto - Herramientas -> opción -> control de fuente -> selección de complemento -> Servidor de base de Visual Studio Team, solía volver.

Mi solución fue ...

haciendo la ubicación física de mi proyecto: Mostrar todos los archivos ocultos. Puede hacer esto mostrando los archivos ocultos y la opción de carpeta de Windows. entonces me doy cuenta de que había una carpeta oculta llamada .git algo. Mantuve una copia de seguridad completa de mi carpeta de proyecto y también la carpeta git cualquier otra copia de seguridad que fuera necesaria (guardé esta copia de seguridad en caso de que mi proyecto se rompa, para que pueda volver a la condición anterior).

luego he eliminado la carpeta oculta .git y cualquier otro archivo relacionado con .git.

entonces trato de Herramientas -> opción -> control de origen -> selección de complemento -> Servidor de base de Visual Studio Team. luego abro el proyecto por visual studio- File -> open -> project / solution ..

después de eso, me di cuenta en el explorador de soluciones, haciendo clic derecho en el nombre de la solución, veo la opción "Control de fuente", y también en el proyecto, haga clic derecho y veo "Agregar protección al control de fuente" ... y esta vez no agregó solución a git. .

también es bueno eliminar cualquier conexión git de su explorador de control de fuente ... si hay alguna ...

así que lo principal es asegurarse de que no haya un archivo git oculto en su archivo de proyecto y cualquier otra extensión git ... espero que esto sea útil para alguien ...

Un hombre
fuente
2

Además de la respuesta de Juliano Nunes Silva Oliveira , la forma más simple y limpia sin piratear el regedit, eliminar las carpetas ocultas .git o cambiar la configuración de VS15 es conectarse a un repositorio diferente. Cuando esté conectado, verá el texto del otro repositorio en negrita y luego seleccione su repositorio local de Git . Ahora ves que el

Eliminar

el elemento de menú está habilitado para que pueda eliminar su repositorio local de Git .

Es el mismo tipo de comportamiento cuando se trata de Branches cuando se usa Git con Visual Studio 2015. Debe seleccionar una rama diferente antes de poder eliminar la rama que desea eliminar.

Para aquellos que necesitan visualización para entenderlo mejor. ver imagen del enlace: cómo se hace

Codificación feliz

Quoc Nguyen
fuente
1

Simplemente busca la presencia del directorio .git en la carpeta de la solución. Elimine esa carpeta, posiblemente oculta, y Visual Studio ya no lo considerará un proyecto git.

M Ahmad
fuente
Eso es porque si lo eliminas ya no es un proyecto git . Has destruido efectivamente tu versionado. Si eso es lo que quieres hacer, está bien.
gliljas
Eso es exactamente lo que quería hacer. Visual Studio decidió expirar mi licencia de 30 días ya que la estaba agregando al control de código fuente. Dejé mi proyecto en un estado confuso y no pude seguir la documentación.
Nathan Goings
1

Conéctese a un repositorio diferente (lo intenté con un repositorio TFS), luego vaya a Administrar conexiones, haga clic con el botón derecho en el repositorio Git y es posible que pueda eliminarlo.

Pero aún debe eliminar manualmente la carpeta .git y los archivos de la ruta del proyecto antes de abrir la solución nuevamente.

Juliano Nunes Silva Oliveira
fuente
1

@Matthew Kraus Haga clic en herramientas en la barra de menú, luego haga clic en Opciones, busque el control de origen y luego seleccione "Ninguno" en la lista desplegable y haga clic en Aceptar. Elimine la carpeta oculta .git de su carpeta de proyecto. Vuelva a abrir su proyecto. ingrese la descripción de la imagen aquí

Tanvir
fuente
0

Vaya Control Panel\User Accounts\Credential Managery seleccione, Windows Credentialluego elimine la cuenta de git.


fuente
0

descargue la extensión de microsoft e instálela para eliminar la extensión GIT de Visual studio y SSMS.

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

SSMS: edite el archivo ssms.pkgundef que se encuentra en C: \ Archivos de programa (x86) \ Microsoft SQL Server \ 130 \ Tools \ Binn \ ManagementStudio \ ssms.pkgundef y elimine todas las entradas relacionadas con git

Ramkumar Sambandam
fuente
0

No puede eliminar el repositorio git local cuando ya está conectado. así que cierre la solución, abra otra solución y luego elimine el repositorio local de git. no olvides eliminar la carpeta oculta .git funciona para mí

netanel elipaz
fuente