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