Últimamente los de Microsoft lo están haciendo cada vez mejor para los desarrolladores. Al usarlo para tus proyectos, puede que tengas que arreglar el problema segmentation fault usando git desde Windows.
Si eres de los míos, seguramente el Bash de Ubuntu en Windows o WSL (windows subsystem linux) echará humo en tu equipo de darle caña. El caso, es que para cosas como Git, a pesar de que funciona perfectamente, con el tiempo se vuelve lento.
Tal es así que para un simple git status me dejaba esperando más de 20 segundos (aunque luego funcionase bien un rato).
Como ho he encontrado una solución a este problema (aún), al final he decidido pasar a usar la consola de Git para Windows, que funciona más fluída.
Cómo arreglar Segmentation Fault en Windows con Git
En este caso, las pruebas las he hecho con un par de máquinas con Windows 10 de 64 bits, una versión Pro y la otra Home con el mismo problema.
Al intentar hacer un checkout, o algunas otras acciones, Git devuelve el error Segmentation Fault, sin nada más de información acerca de qué pasa.
El averiguar por qué lo hace puede ser un poco complicado, y por eso mismo vamos a pasar directamente a la solución. En sí suele dar el error por alguna incompatibilidad o fallo a la hora de procesar los comandos.
Lo más fácil, será actualizar Git a la versión 2.13.2 como mínimo (con la 2.13.3 funciona perfecto también). Para eso simplemente cierra todos los programas que usen git como phpstorm o las ventanas de la consola que tengas abiertas.
Descarga la última versión de la página oficial de git, y ejecuta el instalador.
En un principio, si ya lo tienes instalado te debería ir marcando las opciones que ya tenías configuradas, pero mejor si lo revisas por que a veces no lo hace así. Será conveniente también que te instales putty para gestionar las claves, que dará menos problemas.
En caso de no tenerlo instalado te tocará elegir todo, las opciones que mejor me funcionan a mí son estas:
- Use Git and optional unix tools from the windows commam prompt (3)
- Use Tortoise Plink (2)
- Checkout windows-Style, commit Unix-style line endings (1)
El resto de opciones las puedes dejar predeterminadas. Una vez termine de instalar no es necesario pero si reinicias mejor.
A partir de aquí deberías poder ejecutar el comando que te estaba dando segmentation fault sin problema. En caso de que no sea así déjame un comentario con el comando, versión de SO y te echo un cable.
A partir de ahí puedes configurar phpstorm para usar git en windows, o directamente controlarlo desde la consola git que te aparecerá en el menú de inicio o haciendo click derecho en cualquier carpeta.
Si quieres también utilizar un GUI para controlarlo de forma más visual, incluye uno, pero te recomiendo echar mano de SourceTree que es mucho más completo para eso.
¿Sueles programar con Windows? ¿Qué otros problemas has solucionado en Git? Comenta y comparte