trucos tag que name log hace commits commands comentarios codigos git version-control case-sensitive

tag - que es git log



¿Git no es sensible a las mayúsculas? (4)

Esto es mucho más fácil:

git mv Electronics electronics -f git commit -m "That was easy!"

En el primer compromiso de mi llamada parcial _Electronics fue escrito comenzando con mayúsculas, luego lo cambié a _electronics .

Git en virtud de cygwin ignoró el caso después de comprometerse con el nuevo nombre, por lo que cambié el nombre a mano en el repositorio de destino.

Ahora a veces cambia el _electronics comprometido parcial a _Electronics .

¿Qué he hecho mal?


Se verá como 2 cosas diferentes, pero le causará problemas en un sistema que no distingue entre mayúsculas y minúsculas. Si este es el caso, asegúrese de completar tabulaciones con rutas o nombres de archivo. Además, para cambiar el nombre de algo en el caso, haga esto:

mv file.txt temp.txt git add -A git commit -m "renaming..." mv temp.txt File.txt git add -A git commit --amend -m "Renamed file.txt to File.txt"

Esta es una forma explícita de realizar cambios que los comprometen y luego contraer los commits. Una manera más corta de hacerlo es manipular el índice y la carpeta de trabajo, todo en uno:

git mv file.txt temp.txt git mv temp.txt File.txt git commit -m "Renamed file.txt to File.txt"

Esto también está relacionado con el ajuste de nombres de directorio: git mv y solo cambia el caso del directorio


Va a depender del valor de configuración core.ignorecase , que se establece en false en sistemas de archivos sensibles a mayúsculas y true en msysgit en Windows.

core.ignorecase

Si es verdadero, esta opción habilita varias soluciones para permitir que git funcione mejor en sistemas de archivos que no distinguen entre mayúsculas y minúsculas, como FAT. Por ejemplo, si una lista de directorio encuentra "makefile" cuando git espera "Makefile", git asumirá que es realmente el mismo archivo y continuará recordándolo como "Makefile".

El valor predeterminado es falso, excepto git-clone (1) o git-init (1) sondeará y establecerá core.ignorecase verdadero si es apropiado cuando se crea el repositorio.


git config --system core.ignorecase false