español - Cómo resolver el error "no es algo que podamos fusionar" de git
git merge español (16)
Como se muestra en ¿Cómo surge "no algo que podemos 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 sucursal que desea fusionar. Git requiere el conocimiento local de ambas sucursales para fusionarlas. Puede resolver esto comprobando la rama a 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 diciendo
error: pathspec ''remote-name/branch-name'' did not match any file(s) known to git.
debe obtener el control remoto (probablemente, pero no necesariamente, "origen") antes de verificar la rama:
git fetch remote-name
Acabo de encontrar un problema al fusionar una rama en master en git. Primero, obtuve el nombre de la rama ejecutando git ls-remote
. Llamemos a esa rama "nombre de rama". Luego ejecuté el comando git merge branch-name
y obtuve el siguiente resultado:
fatal: branch-name - not something we can merge
¿Cómo resuelvo este error?
Cuando salgo de un control remoto hacia arriba, git fetch --all
hizo el truco por mí:
git remote add upstream [url to the original repo]
git checkout [branch to be updated]
git fetch --all
git merge upstream/[branch to be updated]
En otros casos, encontré que el error "No hay algo que podamos fusionar" también ocurrirá si la rama remota (origen, ascendente) no existe. Esto puede parecer obvio, pero podría encontrarse haciendo git merge origin/develop
en un repositorio que solo tiene master
.
El método de abajo funcionó para mí cada vez.
git checkout master
git pull
git checkout branch-name-to-be-merged
git pull
git checkout branch-name
git pull
git merge branch-name-to-be-merged
Es una sugerencia tonta, pero asegúrese de que no haya errores tipográficos en el nombre de la rama.
Esta respuesta no está relacionada con la pregunta anterior, pero me enfrento a este tipo de problema, tal vez este uso completo a alguien, estoy fusionando mi rama de función para dominar como a continuación
$ git merge fix-load
merge: fix-load - not something we can merge
Para esto, estoy por encima de todas las soluciones pero no trabajo a nadie,
Finalmente, encontré el problema en el error de ortografía en el nombre de mi rama (en realidad, el nombre de la rama de combinación es corregir-cargas).
Este error sugiere que la sucursal desde donde desea fusionar los cambios (es decir, en su caso, el nombre de la sucursal) no está presente en su localidad, por lo que debe revisar la sucursal y buscar los cambios locales. Realice el pago a su sucursal maestra y busque, luego siga los pasos a continuación:
git checkout branch-name
git pull
git checkout new-branch-name
git merge branch-name
Le sugiero que compruebe si puede cambiar a la rama con la que intenta 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 de ortografía.
Ignoré mis cambios locales para poder cambiar a la rama (también se puede preferir Stash o commit). Después de esto volví a la rama inicial, y la fusión fue exitosa.
Lo intenté
git merge <branch-name> "Commit-message"
en lugar de
git merge <branch-name> -m "Commit-message"
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.
Para mí el problema ocurrió cuando intenté esto:
git merge -s ours --no-commit --allow-unrelated-histories <remote name>/develop
Así que en realidad debería haber escrito master
lugar de develop
, porque maestro era el nombre de sucursal de Subtree, no mi rama real.
Puede suceder porque esa rama no está en su local. antes de fusionar el uso
git fetch origin
Recibí este error cuando hice un git merge BRANCH_NAME "some commit message"
agregar la marca -m para el mensaje de confirmación, por lo que pensé que el nombre de la rama incluía el comentario.
Recibimos este error porque teníamos una coma (,) en el nombre de la rama. Eliminamos la sucursal local, luego la revisamos con un nuevo nombre sin la coma. Pudimos fusionarlo con éxito.
Recibirá este error porque la rama que desea fusionar no existe en su repositorio local.
Entonces, primero compruebe el brach que desea fusionar en la rama maestra con el siguiente comando:
git checkout branch_name_to_merge
Después de esto, intente fusionarlo con la rama maestra con el siguiente comando:
git merge branch_name_to_merge
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 eliminarlo 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:
merge: 26d8e04b29925ea5b59cb50501ab5a14dd35f0f9
- not something we can merge
Yo también tuve este problema. La rama se veía como ''nombre de usuario / maestro'', lo que parecía confundir a git ya que parecía una dirección remota que definí. Para mi usar esto
git merge origin/username/master
Funcionó perfectamente bien.