¿Qué significa en el manual de git?

Mi suposition ahora es que significa lo contrario de lo que hará el command sin agregar el prefijo sin, pero tengo problemas para get la confirmación de esto.

Entonces, digamos en el manual de git update-index . Puedo encontrar el indicador --[no-]assume-unchanged especificado como uno de los posibles indicadores para el command. ¿Qué significa [no-] aquí?

El prefijo --no en una opción solo tiene un significado aproximado, e incluso eso solo por convención. No hay documentation general para ello porque no tiene un significado general. No puedes elegir una opción aleatoria y poner un --no en ella; esto funciona solo si se define una --no-xyzzy (que, en principio, podría hacer cualquier cosa, pero que, por usabilidad, siempre sigue la definición libre y convencional).

Y esa definición es: --no-xyzzy desharía lo que --xyzzy haría. Esto es principalmente útil cuando el comportamiento pnetworkingeterminado puede ser determinado por una opción de configuration. Así que tal vez el valor pnetworkingeterminado de fábrica es que el command no pida una pizza. Hay una --order-a-pizza . Si el command determina que $ALWAYS_ORER_A_PIZZA está configurado en el entorno, pedirá una pizza sin la --order-a-pizza ; pero si, para una ejecución en particular, no debe pedir una pizza, puede decir --no-order-a-pizza

La syntax proviene de EBNF . Los corchetes significan "una parte opcional". Es decir, la opción --[no-]X significa que ambas syntax --X y --no-X son válidas. Y --no-X por supuesto significa el reverso de --X .

Como se explica en la página del manual, hacer --assume-unchanged establecerá el bit para esa opción y agregar no- deshace esa opción. Tener una no- opción explícita es útil si una opción se establece de manera pnetworkingeterminada a la que se está configurando o su ruta normalmente establecerá ese bit y desea anularlo con el bit desarmado.