Estoy desarrollando un proyecto en OS X Lion que está bajo el control de versión de Git. Tenía estos directorios en minúsculas y luego los capitalicé (por ejemplo, emailaddresses => EmailAddresses), pero Git no parece reconocer el cambio. Todavía piensa que los directorios están en minúsculas cuando ejecuto git ls-files
y otros comandos.
¿Es inofensivo o debería hacer algo más para que Git se dé cuenta de este cambio?
Respuestas:
Probablemente esté utilizando HFS +, que no distingue entre mayúsculas y minúsculas (pero conserva) Normalmente trabajo alrededor de esto así:
fuente
git push origin master
. Si git se niega a actualizar el control remoto, es posible que deba agregar un archivo ficticio (por ejemplotouch stam
) y hacer la inserción. Seguido por una posterior eliminación de stam y presionar nuevamente.Puedes decirle a git que tenga en cuenta el caso ejecutando
git config core.ignorecase false
fuente
Cómo git mv en Mac Case-Sensitively
Esto sucede porque Mac OS X implementa características de preservación de mayúsculas y de insensibilidad de mayúsculas y minúsculas que están destinadas a ayudarlo.
Aunque las sugerencias de doble cambio de nombre en la otra respuesta funcionarán, recomiendo el uso de '--force' para un resultado de mejores prácticas:
Nota: si lo intentas sin la opción force, git te vomitará así:
En el ejemplo anterior, el comando git falla y no se cambian archivos en el sistema de archivos o en el índice de git.
fuente
fatal: not under version control
.git
Los comandos solo funcionan en directorios con repositorios GIT.Intente cambiar la opción de configuración de git core.ignorecase a false en su archivo .gitconfig.
fuente
git config core.ignorecase false
Los siguientes pasos me ayudaron a resolver el problema:
Cambie el nombre de la carpeta a
temp
:Etapa y compromiso:
Cambie el nombre de la
temp
carpeta a su elección:Listo: ahora puedes empujar.
fuente
Si lo hace
git mv AAA aaa
ogit mv -f AAA aaa
, no será trabajo y tendrá un errorfatal: renaming 'AAA' failed: Invalid argument
.Porque
AAA
yaaa
son UNA MISMA carpeta / archivo en sistemas de archivos que no distinguen entre mayúsculas y minúsculas, moverAAA
aaaa
significa moverAAA
comoaaa/AAA
.Entonces deberías hacer
Espero que te sea útil.
fuente
La razón de esto es que el sistema operativo basado en LINUX o macOS ignoran mayúsculas y minúsculas para el nombre del archivo / carpeta. Necesitamos resolver este problema siguiendo los pasos a continuación.
fuente
Ninguna de estas soluciones funcionó para mí. SourceTree siempre estaba creando mi sucursal con un caso diferente de lo que quería. Entonces, cómo lo resolví fue:
1 - Mira tus archivos git en el buscador. Puede hacerlo escribiendo esto en la terminal:
2 - Reinicia el buscador y ve al directorio de tu proyecto
3 - Ahora solo cambia el nombre de tu carpeta, digamos de Característica a característica. Y ahi tienes.
fuente
También puede hacer esto manualmente sin usar comandos GIT. Dentro de la
.git
carpeta, simplemente elimine la carpeta con el nombre que desee, es decirSomeName
. Y luego cambie el nombre de la carpetasomename
aSomeName
. Más detalles en: Cómo arreglar el nombre de la carpeta en mayúsculas y git convertir en minúsculasfuente
Tuve el mismo problema y uso la solución a continuación. Lo uso para lotes, directorios y nombres de archivos, etc.
Como se detalla aquí.
fuente
Ninguno de estos realmente me ayudó, todavía tenía que decirme que escondiera mis cambios, porque mi situación era que mi carpeta local estaba en mayúscula pero no en el remoto, y mi rama estaba detrás y ya no podía tirar debido a las diferencias de capitalización de archivos en la estructura de carpetas.
La única forma en que pude solucionar esto fue eliminando mi sucursal local y revisando el control remoto.
fuente