Desvincular repositorio git
Desvincular git de la carpeta
Todos los datos que utiliza Git para la información se almacenan en .git/, por lo que eliminarlo debería funcionar sin problemas. Por supuesto, asegúrate de que tu copia de trabajo está en el estado exacto que quieres, porque todo lo demás se perderá. La carpeta .git está oculta, así que asegúrate de activar la opción “Mostrar archivos, carpetas y discos ocultos”.
El comando rmdir o rd no borrará/eliminará los archivos o carpetas ocultos dentro del directorio que especifiques, así que debes usar el comando del para asegurarte de que todos los archivos se eliminan de la carpeta .git.
No es una opción inteligente mover todos los .git* a mano, particularmente cuando estos archivos .git están ocultos en subcarpetas como es mi caso: cuando instalé Skeleton Zend 2 por composer+git, hay un buen número de archivos .git creados en carpetas y subcarpetas.
Eliminar git de la terminal
A continuación, elimine permanentemente (“SHIFT + DEL”) los archivos y la carpeta .git*. Hay dos archivos y una carpeta que pueden estar ocultos, así que asegúrate de tener seleccionadas las opciones de carpetas y búsqueda > Ver > mostrar archivos, carpetas y unidades ocultas (botón de radio).
Vuelva a abrir Visual Studio y no hay más relación con el control de fuentes Git. Si quisieras llevarlo tan lejos como eliminarlo del registro como se mencionó anteriormente, podrías, pero eso no debería ser necesario aparte del “mantenimiento de la casa” de tu máquina.
Todo esto parece un montón de trabajo para algo que probablemente debería ser una característica incorporada. Las “soluciones” anteriores mencionan la realización de modificaciones en el archivo .git, etc.; no me gusta la idea de tener que cambiar cosas fuera de Visual Studio para afectar a cosas dentro de Visual Studio. Aunque mi solución necesita hacer algunas modificaciones en el registro (y es externa a VS), al menos éstas sólo afectan a VS. Aquí está la solución (léase: hack):
(Opcional: antes de borrar, puede hacer clic derecho y elegir Exportar para hacer una copia de seguridad de esta clave en caso de que cometa un error). Ahora, haga clic derecho en la clave (en mi caso es AE76C67B6CD2C04395248BFF8EBF96C7AFA15AA9 y seleccione Eliminar).
Github
¿Has configurado el remoto equivocado para un repositorio Git? ¿Necesitas cambiar tu remoto? No te preocupes, Git te tiene cubierto. En Git, hay un comando llamado git remote remove que puedes utilizar para eliminar un remoto de un repositorio.
Recuerda que Git es un sistema de control de versiones distribuido. Esto significa que puedes descargar una copia de un repositorio Git en tu máquina local y hacer cambios. Estos cambios no afectan a la copia principal de un repositorio -la copia remota- hasta que los “empujes” al repositorio remoto.
En la mayoría de los casos, tendrás una rama Git remota que se llama origen. Cuando inicies un repositorio GitHub, por ejemplo, las instrucciones te pedirán que configures un remoto llamado origen. Puedes cambiarlo, pero origin es el valor por defecto.
Al ejecutar este comando, el origen de las remotas de referencia ya no apuntará al repositorio remoto. Vale la pena señalar que esto no elimina su repositorio remoto ni lo afecta de ninguna manera. Todo lo que significa es que su copia local de un repositorio ya no está asociada a un remoto en particular.
Eliminar el historial git del proyecto
Tenía un repositorio de GitHub que decidí eliminar pero seguir manteniendo sólo como repo local en mi disco duro. Ahora me queda el repositorio clonado localmente que mantiene todo el historial y eso está bien. Sin embargo, quedan varios ajustes de configuración que apuntan al repo de GitHub (ahora eliminado).
¿Qué debo hacer para asegurarme de que mi repositorio local no contenga referencias colgantes y que ya no pueda empujar aguas arriba desde él ni hacer fetch en él? (¿Cómo llamamos a un repo que no tiene un origen remoto?)
Sin embargo, como dijo @gturri, incluso si esas configuraciones están presentes, tu copia local ya está “desacoplada” del repositorio de github. Esto se debe a que borraste el repositorio remoto y cada acción como push/pull/fetch llevaría a un error por lo tanto.