¿Es peligrosa la opción "Usar Git y herramientas opcionales de Unix desde el símbolo del sistema de Windows"?

11

Al instalar Git, ofrece la opción de agregar todas sus herramientas msys * nix en su RUTA, sin embargo, advierte:

Advertencia: esto anulará las herramientas de Windows como "buscar" y "ordenar". Solo use esta opción si comprende las implicaciones.

Mis preguntas son:

  • ¿Con qué herramientas entrará exactamente en conflicto?
  • ¿Importa? ¿Son comúnmente utilizados por el sistema? (Nunca los he usado personalmente).
  • ¿Puedo cambiar el orden de los directorios en la RUTA para evitar conflictos?
  • ¿Es esto lo que hace la segunda opción? ("Usar Git desde el símbolo del sistema de Windows: esta opción se considera segura, ya que solo agrega algunos contenedores Git mínimos")
Aleksandr Dubinsky
fuente

Respuestas:

4

Estoy de acuerdo con el análisis general de las otras respuestas y tampoco puedo predecir exactamente qué tipo de conflictos podría encontrar. Sé que no me he dado cuenta de nada malo tomando la tercera opción. Pero puedo agregar un poco a lo que realmente hacen las opciones a partir de 2018.

Experimenté con una variedad de configuraciones de instalación al decidir cómo sugerir la transición de mi equipo a git, incluidas estas opciones. Esto es lo que realmente observé haciendo la instalación en mi camino, a partir de git para Windows v2.19.1.

captura de pantalla de las opciones de instalación de Git para Windows para configurar la RUTA

Use solo Git de Git Bash

Como se dice, no se realizan modificaciones en la ruta de su sistema. Ingresar un simple git statusen el símbolo del sistema de Windows, cmd.exe, fallará con 'git' is not recognized as an internal or external command, operable program or batch file.

Use Git desde el símbolo del sistema de Windows

¿Puedo cambiar el orden de los directorios en la RUTA para evitar conflictos?

¿Es esto lo que hace la segunda opción? ("Usar Git desde el símbolo del sistema de Windows: esta opción se considera segura, ya que solo agrega algunos contenedores Git mínimos")

Cambiar el orden siempre es una opción para usted, pero no, la segunda opción parece no tener nada que ver con el pedido. (Las adiciones de ruta parecen ir al final de la ruta independientemente. Sospecho que esto haya cambiado en algún momento). Se trata de qué directorios se agregan a la ruta, y es diferente entre la segunda y la tercera opción.

Cuando dice que agregará envoltorios Git "mínimos" a su RUTA, lo que parece hacer en realidad es agregar la cmdcarpeta de la instalación (próxima) a la ruta. Esta es la opción que eventualmente sugerí a mi equipo. Ahora tenemos C:\Program Files\Git\cmden nuestros caminos.

¿Qué hay en el cmddirectorio? Para mí, solo seis archivos:

  • git.exe
  • git-gui.exe
  • gitk.exe
  • git-lfs.exe
  • start-ssh-agent.cmd
  • start-ssh-pageant.cmd

Al igual que con la respuesta de Anaksunaman, no estoy seguro de cuándo esto no sería suficiente. Cualquiera de los comandos normales que comiencen git <some command>funcionaría desde la inclusión de git.exe.

Use Git y herramientas opcionales de Unix desde el símbolo del sistema de Windows

Esto incluye agregar la segunda opción <Install dir>\Git\cmda la ruta, y también agrega <Install dir>\Git\mingw64\biny <Install dir>\Git\usr\bina la ruta. Ambos directorios tienen un número significativo de ejecutables, incluidos buscar, ordenar y matar como se menciona en otras respuestas.

En lugar de enumerar lo que probablemente sea un par de cientos de elementos, le recomiendo al usuario interesado que tome la opción dos, complete la instalación y eche un vistazo a esos directorios. Si está satisfecho con el riesgo, la adición <Install dir>\Git\mingw64\biny <Install dir>\Git\usr\binde la ruta de sí mismo sería equivalente a tomar una copia de la máquina del tiempo y seleccionar la tercera opción.

comprar
fuente
Dado que las suposiciones y los contextos cambian con los años, puede ser útil comenzar una nueva respuesta para una pregunta de cuatro años con "Aquí hay una nueva perspectiva desde 2019 ..."
Christopher Hostage
1
Esta sigue siendo la pregunta más útil sobre el tema, por lo que creo que es relevante recibir respuestas adicionales. Agregué un año, aunque habría pensado que el número de versión habría cumplido el mismo propósito.
Comprar el
7

¿Con qué herramientas entrará exactamente en conflicto?

Personalmente, no estoy seguro de una lista completa, pero esta pregunta de StackOverflow dice

"Esto incluye encontrar, matar y ordenar [...] El problema con los primeros 3 (y similares) es que existen en ambos sistemas operativos y funcionan de manera diferente en cada uno".

Es posible que no los use con frecuencia, pero son lo suficientemente comunes como para que Git sienta la necesidad de advertirle sobre un comportamiento inesperado.

Como anécdota, es más probable que aparezcan en programas de terceros (principalmente scripts), por lo que el nivel de efecto probablemente dependa de cuánto utilices los programas que dependen de cualquiera de esos comandos.

¿Es esto lo que hace la segunda opción? ("Usar Git desde el símbolo del sistema de Windows: esta opción se considera segura, ya que solo agrega algunos contenedores Git mínimos")

Básicamente le permite usar Git desde la línea de comandos (cmd.exe) con todos los comandos Git comunes. Esta opción es perfectamente segura y útil para el 99% de lo que probablemente quiera escribir o implementar manualmente desde una línea de comandos de Windows. Utilizo esta opción y nunca he encontrado personalmente ningún problema.

Después de la instalación, es posible que también desee ver una interfaz gráfica de git (como GitHub Dekstop para Windows o SourceTree ) y no olvide que Git bash también viene con la instalación.

Anaksunaman
fuente
En realidad, me gustaría usar algunas de las herramientas de CMD, y me preguntaba si la segunda opción hace que alguna de las herramientas de Unix esté disponible o solo git.
Aleksandr Dubinsky
Que yo sepa, es solo git.
Anaksunaman
3

¿Con qué herramientas entrará exactamente en conflicto?

Dejaría que la instalación modifique tu RUTA. Es fácil eliminarlo de la RUTA si no lo desea. Luego miraría los directorios y haría algunas comparaciones como diff, comm, etc. para descubrir los conflictos. Deberían estar documentados en alguna parte, aunque no sé dónde.

¿Importa? ¿Son comúnmente utilizados por el sistema? (Nunca los he usado personalmente).

No he usado las herramientas cygwin últimamente, pero cuando tenía que usar Windows, comúnmente tenía el directorio de herramientas cygwin primero en mi RUTA sin problemas.

El mayor riesgo sería si un programa buscara las herramientas de línea de comandos de Windows en conflicto, ejecutaría el programa incorrecto. Creo que las posibilidades de esto son muy escasas, teniendo en cuenta la cantidad extremadamente pequeña de secuencias de comandos cmd.exe que continúa.

¿Puedo cambiar el orden de los directorios en la RUTA para evitar conflictos?

Si. Simplemente mueva el cygwin, o lo que sea que gitagregue, al final de la RUTA. Solo recuerda que ciertas secuencias de comandos no funcionarán correctamente en cygwin. Además, ahora que lo pienso, creo que la consola cygwin configura la ruta correctamente. Configurar su propio camino cuando usa cygwin también haría que cygwin funcione correctamente.

¿Es esto lo que hace la segunda opción? ("Usar Git desde el símbolo del sistema de Windows: esta opción se considera segura, ya que solo agrega algunos contenedores Git mínimos")

Parece que esto insertaría en la RUTA un directorio que contenga solo los comandos git que necesita para usar git.

RobertL
fuente
En realidad, git usa MSYS en lugar de Cygwin. La diferencia es que msys es win32 nativo, mientras que cygwin usa una biblioteca de emulación para adaptar el código posix.
Aleksandr Dubinsky