Solución:
A partir de Git 2.0.1 (25 de junio de 2014), un git mv
simplemente funcionará en un sistema operativo que no distingue entre mayúsculas y minúsculas.
Ver commit baa37bf por David Turner (dturner-tw
).
mv
: permite cambiar el nombre para arreglar mayúsculas y minúsculas en sistemas de archivos que no distinguen entre mayúsculas y minúsculas
“git mv hello.txt Hello.txt
“en un sistema de archivos que no distingue entre mayúsculas y minúsculas siempre se activa”destination already exists
“error, porque estos dos nombres se refieren a la misma ruta desde el punto de vista del sistema de archivos y requiere que el usuario proporcione”--force
“al corregir el caso de la ruta registrada en el índice y en la siguiente confirmación.
Detecta este caso y permítelo sin requerir “
--force
“.
git mv hello.txt Hello.txt
simplemente funciona (no --force
requerido más).
La otra alternativa es:
git config --global core.ignorecase false
Y cambie el nombre del archivo directamente; git add y commit.
Teniendo en cuenta la respuesta de larsks, puede hacer que funcione con un solo comando con “–force”:
git mv --force myfile MyFile
A veces, desea cambiar el uso de mayúsculas en muchos nombres de archivos en un sistema de archivos que no distingue entre mayúsculas y minúsculas (por ejemplo, en OS X o Windows). Haciendo git mv
Los comandos se cansarán rápidamente. Para hacer las cosas un poco más fáciles, esto es lo que hago:
- Mueva todos los archivos fuera del directorio a, digamos, el escritorio.
- Hacer un
git add . -A
para eliminar todos los archivos. - Cambie el nombre de todos los archivos del escritorio a las mayúsculas adecuadas.
- Mueva todos los archivos al directorio original.
- Hacer un
git add .
. Git debería ver que se cambia el nombre de los archivos.
Ahora puede realizar una confirmación diciendo que ha cambiado las mayúsculas del nombre del archivo.