Migré mis repositorios de Bitbucket o Github. No creo que esto importe, pero es lo único diferente ... Durante un tiempo tuve dos controles remotos configurados:
origin: bitbucket
github: github
Luego eliminé ambos y apunté el origen a github:
git remote remove origin
git remote remove github
git remote add origin https://github....
Prueba de empuje de rama de desarrollo:
git push origin develop
Todo actualizado, ok, bien.
Cree una nueva rama para trabajar como de costumbre:
git checkout -b Feature/Name
Actualice uno o dos archivos. Intente presionar al control remoto:
git push origin Feature/Name
Esto da como resultado el error:
fatal: Característica / Nombre no se puede resolver para bifurcar
Busque en línea este problema, encuentre algunas cosas para asegurarse de que HEAD sea correcto, otros sobre asegurarse de que el nombre de mi rama sea correcto (aunque, en este punto, la rama aún no existe en el control remoto). No se puede resolver.
Ejecutó este comando:
git push --all -u
Esto llevó a mi Feature/Name
rama a github, pero aún veo el mismo comportamiento que antes:
git push origin develop
git push origin Feature/Name
El primero funciona, el segundo arroja el mismo error.
No puedo entender por qué recibo este error. ¿Algunas ideas?
Feature/Name
? ¿Estás seguro de queFeature/Name
existe y esa es la rama comprobada? Consulte congit branch
.git branch
para verificar queFeature/Name
existe localmente? No confíe en una GUI o IDE. Además, ¿entendiste bien el caso?git push origin Feature/Name:Feature/Name
?git push --all -u
tengo la nueva rama en github, pero aún no pude presionar desde local, ¿verdad?SQLMigration/ReportFixes
Esto es lo que sucedió con eso ... el nombre real de la rama es y lo que está en github esSqlMigration/ReportFixes
. Entonces, ahora puedogit push origin SqlMigration/ReportFixes
, ¿por qué github cambia la carcasa por mí? Agh.Respuestas:
Yo también estaba teniendo este problema y me estaba volviendo loco. Tenía algo como
feature/name
perogit branch -a
me lo mostróFEATURE/name
. Cambiar el nombre de la rama, eliminarla y recrearla, nada funcionó. Lo que finalmente lo arregló:Entrar en
.git/refs/heads
Verás una
FEATURE
carpeta. Cambie el nombre afeature
.fuente
Según mis propias pruebas y los comentarios del OP , creo que en algún momento se equivocaron con la carcasa del nombre de la rama.
Primero, creo que el OP está en un sistema operativo que no distingue entre mayúsculas y minúsculas como OS X o Windows. Luego hicieron algo como esto ...
Tenga en cuenta la diferencia de carcasa. También tenga en cuenta que el error es muy diferente de si simplemente escribe el nombre.
Debido a que Github usa el sistema de archivos para almacenar nombres de sucursales, intenta abrir
.git/refs/heads/SqlMigration/ReportFixes
. Debido a que el sistema de archivos no distingue entre mayúsculas y minúsculas, se abre con éxito,.git/refs/heads/SqlMigration/ReportFixes
pero se confunde cuando intenta comparar los nombres de las ramas entre mayúsculas y minúsculas y no coinciden.No estoy seguro de cómo llegaron a un estado donde está la sucursal local
SQLMigration/ReportFixes
y la sucursal remotaSqlMigration/ReportFixes
. No creo que Github se haya metido con el nombre de la rama remota. La explicación más simple es que alguien más con acceso push cambió el nombre de la rama remota. De lo contrario, en algún momento hicieron algo que logró crear el control remoto con el error tipográfico. Si comprueban su historial de shell, tal vez conhistory | grep -i sqlmigration/reportfixes
puedan encontrar un comando donde escribieron mal la carcasa.fuente
Git le permitirá verificar la rama actual con una carcasa diferente y no podrá encontrar una referencia en el control remoto.
Lo acabo de descubrir por las malas.
fuente
> git branch
y verificar que su rama tenga un * al lado.A mí me pasó algo parecido. Creé una rama llamada algo así como "Feat / name". Traté de empujarlo usando:
Recibí el mismo error fatal que tú:
Para solucionarlo, creé una nueva rama ya que tenía muy pocos archivos afectados. Luego enumeré mis ramas para eliminar la incorrecta y se mostró sin límite:
Había usado mayúsculas antes, pero nunca en el primer carácter. Parece que a git no le gusta ...
fuente
Es sensible a mayúsculas y minúsculas, solo asegúrese de que la sucursal creada y la inserción de la sucursal estén en la misma capital.
Ejemplo:
Manera INCORRECTA de hacer:
Manera CORRECTA de hacer:
fuente
¿Quizás olvidó ejecutar git fetch? ¡Se requiere para obtener datos del repositorio remoto! Intenta correr
git fetch remote/branch
fuente
Para mi caso, solía tener una carpeta de sucursales (o como se llame) con letras mayúsculas, luego creo una nueva con mayúsculas y minúsculas (minúsculas) pero git en realidad crea la sucursal con mayúsculas.
Creé una rama como
feature-ABC/branch1
antes y la empujé. Luego creo una ramafeature-abc/branch2
(observe el ABC en minúscula), e intento llevarla al uso remotogit push --set-upstream origin feature-abc/branch2
y obtengo el error 'no se puede resolver para la rama'. Así quegit branch
veo que realmente creó enfeature-ABC/branch2
lugar defeature-abc/branch1
para mí. Vuelvo a pagar congit checkout feature-ABC/feature2
y lo presiono usando mayúsculas (feature-ABC/feature2
) para resolverlo.fuente
Enfrenté el mismo problema que se debió a la derivación con una carcasa incorrecta. git déjame cambiar a la rama con una carcasa incorrecta, es decir, en
feature/Name
lugar defeature/name
. Encontré una solución más fácil que la enumerada anteriormente solo:git checkout master (or develop)
git checkout feature/name
<con carcasa correctagit push
fuente
Resolví esto en Windows 10 usando cmd en lugar de GitBash .
Tiene que ver con el caso del carácter y cómo git y las líneas de comando los manejan.
fuente
Es posible que haya creado una rama similar pero diferente en cuanto a mayúsculas y minúsculas, luego debe ejecutar:
git branch -D <name-of-different-case-branch>
y luego intente presionar nuevamente.
fuente
Respuesta ligeramente modificada de @Ty Le:
no se requirieron cambios en los archivos para mí: tenía una rama llamada 'Característica / ...' y mientras empujaba hacia arriba, cambié el título a 'característica / ...' (el caso de la primera letra se cambió a la inferior ).
fuente
También tuve este problema y mis ramas normales comienzan con,
pb-3.1-12345/namebranch
pero accidentalmente escribí en mayúscula las primeras 2 letrasPB-3.1/12345/namebranch
. Después de cambiar el nombre de la rama para usar letras minúsculas, pude crear la rama.fuente
para mí estaba nombrando la rama como
todo lo que tenía que hacer era usar
escribir
como solía crear ramas usando la letra pequeña r en rel.
Entonces, ¿qué causó este problema?
cuando enumeré el
.git/refs/heads
contenido que encontrépero no
Relx.x
!y dentro
bug
y dentrobug
del nombre de mi rama.Entonces, git intenta crear un directorio con el mismo nombre pero diferentes letras mayúsculas
pero el sistema no distingue entre mayúsculas y minúsculas.
¡Eso es lo que causó este problema!
fuente
Tuve el mismo problema con diferentes carcasas.
Hice una comprobación para el desarrollo (o maestro) y luego cambió el nombre (el nombre incorrecto) a algo más como prueba.
luego cambie el nombre de nuevo al nombre correcto
luego realice el pago en la rama del nombre correcto
luego funcionó para empujar a la rama remota
fuente
Para mí, el problema era que tenía git y mi sistema de archivos macOS configurado en dos sensibilidades de mayúsculas y minúsculas diferentes. Mi Mac tenía el formato APFS / distingue entre mayúsculas y minúsculas : NO, pero cambié mi configuración de git en algún momento tratando de superar un problema extraño con la nomenclatura de activos de imagen de Xcode, por lo que git config --global core.ignorecase false . Al voltearlo hacia atrás, alineé la configuración y recreando la rama y empujando me volvió a encarrilar.
git config --global core.ignorecase true
Crédito: https://www.hanselman.com/blog/GitIsCasesensitiveAndYourFilesystemMayNotBeWeirdFolderMergingOnWindows.aspx
fuente
Tuve el mismo problema pero se resolvió. Me di cuenta de que el nombre de la rama distingue entre mayúsculas y minúsculas. La rama principal en GitHub es 'maestra', mientras que en mi comando gitbash es 'Maestra'. Cambié el nombre de Master en el repositorio local a master y funcionó. 😀😀
fuente
Me encontré con el mismo problema y noté que había mezclado la carcasa mientras revisaba la rama. Verifiqué en
branchName
lugar deBranchName
y cuando intenté presionar al control remoto, obtuve el mismo error.La solución:
Al configurar upstream con el nombre correcto, la rama correcta se actualizó en github y luego pude verificar el nombre de rama correcto con
Y debería estar actualizado con su último impulso.
fuente
Si se encuentra en una sucursal local, podría cambiar el nombre de la sucursal "Característica / Nombre" a "Característica / Nombre"
git -m feature/Name
si tiene problemas para realizar un
git push
pago en otra rama (ex desarrollo) y volver a la rama renombradagit checkout feature/Name
y vuelve a intentar tu
git push
fuente