No se puede enviar a una sucursal remota, no se puede resolver sucursal

Migré mis repos de Bitbucket o Github. No creo que esto importe pero es lo único diferente … Por un time tuve dos controles remotos configurados:

origin: bitbucket github: github 

Luego eliminé ambos y orienté hacia github:

 git remote remove origin git remote remove github git remote add origin https://github.... 

Prueba de empuje de la twig de desarrollo:

 git push origin develop 

Todo al día, está bien, bien.

Crea una nueva twig para un trabajo como de costumbre:

 git checkout -b Feature/Name 

Actualiza un file o dos. Intentar empujar a control remoto:

 git push origin Feature/Name 

Esto resulta en el error:

fatal: Característica / Nombre no se puede resolver a la twig

Busque en línea este problema, busque información para asegurarse de que HEAD sea correcto, y otros para asegurarse de que tengo correcto el caso de mi nombre de twig (aunque en este momento la twig aún no existe en el control remoto). Incapaz de resolver

Ran este command:

 git push --all -u 

Esto tiene mi twig Feature/Name en github, pero sigue teniendo el mismo comportamiento que antes:

 git push origin develop git push origin Feature/Name 

Los primeros trabajos, el segundo arroja el mismo error.

No puedo entender por qué estoy recibiendo este error. ¿Algunas ideas?

Estaba teniendo este problema también, y me estaba volviendo loco. Tenía algo como feature/name pero git branch -a me mostró FEATURE/name . Renombrar la twig, eliminarla y volver a crearla, nada funcionó. Lo que finalmente lo solucionó:

.git/refs/heads en .git/refs/heads

Verá una carpeta FEATURE . Renombrarlo a la feature .

Basándome en mis propias testings y en los comentarios de la OP , creo que en algún momento se equivocaron en la carcasa del nombre de la twig.

En primer lugar, creo que OP está en un sistema operativo insensible a las mayúsculas y minúsculas, como OS X o Windows. Luego hicieron algo como esto …

 $ git checkout -b SQLMigration/ReportFixes Switched to a new branch 'SQLMigration/ReportFixes' $ git push origin SqlMigration/ReportFixes fatal: SqlMigration/ReportFixes cannot be resolved to branch. 

Tenga en count la diferencia de carcasa. También tenga en count que el error es muy diferente de si solo escribe el nombre.

 $ git push origin SQLMigration/ReportFixme error: src refspec SQLMigration/ReportFixme does not match any. error: failed to push some refs to '[email protected]:schwern/testing123.git' 

Como Github usa el sistema de files para almacenar nombres de twigs, intenta abrir .git/refs/heads/SqlMigration/ReportFixes . Como el sistema de files no distingue entre mayúsculas y minúsculas, abre con éxito .git/refs/heads/SqlMigration/ReportFixes pero se confunde cuando intenta comparar los nombres de las twigs con mayúsculas y minúsculas y no coinciden.

Cómo llegaron a un estado donde la twig local es SQLMigration/ReportFixes y la twig remota es SqlMigration/ReportFixes no estoy seguro. No creo que Github haya tenido problemas con el nombre de la sucursal remota. La explicación más simple es que alguien más con acceso de inserción cambió el nombre de la sucursal remota. De lo contrario, en algún momento hicieron algo que logró crear el control remoto con el error tipográfico. Si revisan su historial de shell, quizás con history | grep -i sqlmigration/reportfixes history | grep -i sqlmigration/reportfixes pueden encontrar un command donde escribieron mal la carcasa.

Git le permitirá verificar la sucursal actual con una carcasa diferente, y no podrá encontrar una reference en el control remoto.

Acabo de enterarme por el path difícil.

Algo similar me pasó a mí. Creé una twig llamada algo así como "Hazaña / nombre". Intenté empujarlo usando:

git push –set-upstream origin Feat / name

Tengo el mismo error fatal que tú:

fatal: Feat / name no se puede resolver a branch

Para resolverlo, creé una nueva twig ya que tenía muy pocos files afectados. Luego enumeré mis twigs para eliminar la incorrecta y se muestra sin tapa:

  • hazaña / nombre

Había usado gorras antes pero nunca en el primer caracter. Parece que a Git no le gusta …

¿Quizás olvidó ejecutar git fetch? ¡se requiere get datos del repository remoto! Prueba a ejecutar git fetch remote/branch

Para mi caso, solía tener una carpeta de sucursales (o lo que se llame) con letras mayúsculas, luego creo una nueva con mayúsculas y minúsculas (en minúsculas) pero git en realidad crea la twig con mayúscula.

He creado una twig como feature-ABC/branch1 antes y la feature-ABC/branch1 presionado. Luego creo una twig feature-abc/branch2 (observe el minúsculo ABC), y trato de git push --set-upstream origin feature-abc/branch2 a control remoto usando git push --set-upstream origin feature-abc/branch2 y obtengo el 'no se puede resolver para bifurcar' error. Así que me git branch y veo que realmente creó feature-ABC/branch2 lugar de feature-abc/branch1 para mí. Salgo de nuevo con la git checkout feature-ABC/feature2 y lo git checkout feature-ABC/feature2 usando la mayúscula ( feature-ABC/feature2 ) para resolverlo.