Como se muestra en ¿Cómo surge "no algo que podamos fusionar"? , este error puede surgir de un error tipográfico en el nombre de la rama porque está intentando extraer una rama que no existe.
Si ese no es el problema (como en mi caso), es probable que no tenga una copia local de la rama que desea fusionar. Git requiere conocimiento local de ambas ramas para fusionar esas ramas. Puede resolver esto comprobando la rama para fusionar y luego volviendo a la rama en la que desea fusionarse.
git checkout branch-name
git checkout master
git merge branch-name
Esto debería funcionar, pero si recibe un error que dice
error: pathspec 'remote-name/branch-name' did not match any file(s) known to git.
debe buscar el control remoto (probablemente, pero no necesariamente, "origen") antes de retirar la rama:
git fetch remote-name
git fetch
primera antes de fusionar la rama remota.Git requires local knowledge of both branches in order to merge those branches
Es una sugerencia tonta, ¡pero asegúrese de que no haya errores tipográficos en el nombre de la sucursal!
fuente
Al tirar de un control remoto aguas arriba,
git fetch --all
hizo el truco para mí:En otros casos, descubrí que el error "No es algo que podamos combinar" también ocurrirá si la rama remota (origen, ascendente) no existe. Esto puede parecer obvio, pero es posible que te encuentres haciendo
git merge origin/develop
un repositorio que solo tienemaster
.fuente
git remote add upstream
era lo importante que faltaba que lo resolvió para mí. Creo que un error común es asumir que una bifurcación sabe automáticamente de dónde se bifurcó.También tuve este problema. La rama se parecía a 'nombre de usuario / maestro', lo que parecía confundir a git ya que parecía una dirección remota que definí. Para mí usando esto
funcionó perfectamente bien.
fuente
origin/
antes del nombre de la rama remota./
.El siguiente método funciona para mí cada vez.
fuente
Puede suceder porque esa rama no está en su local. antes de fusionar el uso
fuente
Recibirá este error porque la rama que desea fusionar no existe en su repositorio local.
Entonces, primero revise el brach que desea fusionar en la rama maestra con el siguiente comando:
Después de esto, intente fusionarlo con la rama maestra con el siguiente comando:
fuente
checkout
la ramaEste error sugiere que la rama desde la que desea fusionar los cambios (es decir, en su caso, nombre-rama) no está presente en su local, por lo que debe verificar la rama y buscar los cambios locales. Realice el pago en su rama maestra y busque, luego siga los pasos a continuación:
fuente
Esta respuesta no está relacionada con la pregunta anterior, pero enfrenté un problema similar, y tal vez esto sea útil para alguien. Fusioné mi rama de características para dominar de la siguiente manera:
Recibí el siguiente mensaje de error:
Miré sobre todas las soluciones, pero ninguna funcionó.
Encontré que el problema era un error ortográfico en el nombre de mi sucursal (en realidad, el nombre de la sucursal de fusión es
fix-loads
).fuente
git merge origin/fix-loads
funcionó.Recibí este error cuando hice un
git merge BRANCH_NAME "some commit message"
- Olvidé agregar el indicador -m para el mensaje de confirmación, por lo que pensé que el nombre de la rama incluía el comentario.fuente
En mi opinión, había fallado en asignar mi sucursal local con un repositorio remoto. Lo hice a continuación y funcionó bien.
fuente
Si la cadena que contiene la referencia es producida por otro comando Git (o cualquier otro comando de shell), asegúrese de que no contenga un carro de retorno al final. Tendrá que quitarlo antes de pasar la cadena a "git merge".
Tenga en cuenta que es bastante obvio cuando esto sucede, porque el mensaje de error aparece en 2 líneas:
fuente
Recibimos este error porque teníamos una coma (,) en el nombre de la rama. Eliminamos la sucursal local, luego la volvimos a verificar con un nuevo nombre sin la coma. Pudimos fusionarlo con éxito.
fuente
Para la posteridad: como dijo AxeEffect ... si no tiene errores tipográficos, verifique si tiene caracteres ridículos en el nombre de su sucursal local, como comas o apóstrofes. Exactamente eso me pasó justo ahora.
fuente
Sugiero verificar si puede cambiar a la rama con la que está tratando de fusionarse.
Recibí este error a pesar de que la rama con la que quería fusionarme estaba en el repositorio local y no había errores ortográficos.
Ignoré mis cambios locales para poder cambiar a la rama (Stash o commit también pueden ser preferidos). Después de esto volví a la rama inicial, y la fusión fue exitosa.
fuente
Para mí, el problema ocurrió cuando intenté esto:
De hecho, debería haber escrito en
master
lugar dedevelop
, porque master era el nombre de la rama de Subtree, no mi rama real.fuente
Esto puede sonar extraño, pero recuerde configurar su correo electrónico y nombre de git:
fuente
Para mí, el problema era las 'comillas dobles' en el mensaje de fusión. Entonces, cuando quité la doble marca, todo funcionó mágicamente. Espero ayudar a alguien. (Disculpa mi pobre ingles)
fuente
Tenía un árbol de trabajo con master y otra rama desprotegida en dos carpetas de trabajo diferentes.
Si necesita fusionar la última confirmación:
Y es lo mismo que siempre he hecho:
fuente
La rama que está intentando fusionar puede no estar identificada por usted actualmente, así que realice
git branch
y vea si la rama que desea fusionar no existe, si no, realicegit pull
y ahora si lo hacegit branch
, la rama será visible ahora, y ahora actúasgit merge <BranchName>
fuente