new - git push tag
error: pathspec ''test-branch'' no coincidió con ningún archivo conocido por git (8)
Soy un nuevo usuario de Git. He bifurcado un repositorio llamado Spoon-Knife (disponible para practicar bifurcación con Git). Entonces, lo cloné localmente ejecutando
git clone https://github.com/rohinichoudhary/Spoon-Knife.git
Este repositorio contiene tres ramas, es decir
-
master
-
test-branch
-
change-the-title
Cuando ejecuto git branch
, solo muestra *master
, no las dos ramas restantes. Y cuando corro
git checkout test-branch
Obtuve el siguiente error:
error: pathspec ''test-branch'' no coincide con ningún archivo conocido por git.
¿Por qué está pasando esto? ¿Como puedó resolver esté problema?
Cuando ejecuto
git branch
, solo muestra*master
, no las dos ramas restantes.
git branch
no lista test_branch
, porque todavía no existe tal sucursal local en su repositorio local. Al clonar un repositorio, solo una rama local ( master
, aquí) se crea y se comprueba en el clon resultante, independientemente de la cantidad de sucursales que existen en el repositorio remoto desde el que se clonó. En esta etapa, test_branch
solo existe en su repositorio como una rama de seguimiento remoto , no como una sucursal local .
Y cuando corro
git checkout test-branch
Obtuve el siguiente error [...]
Debes estar usando una versión "vieja" de Git. En versiones más recientes ( desde v1.7.0-rc0 en adelante ),
Si
<branch>
no se encuentra pero existe una rama de seguimiento en exactamente un control remoto (llámelo<remote>
) con un nombre coincidente, trate [git checkout <branch>
] como equivalente a
$ git checkout -b <branch> --track <remote>/<branch>
Simplemente correr
git checkout -b test_branch --track origin/test_branch
en lugar. O actualizar a una versión más reciente de Git.
Amigo mío, primero debe crear las sucursales correspondientes a nivel local para poder realizar el check-out en esas otras dos sucursales, utilizando esta línea de código.
git branch test-branch
y
git branch change-the-title
entonces solo tú podrás hacer git checkout a esas sucursales
También después de crear cada rama, tome los últimos cambios de esas ramas particulares usando git pull origen branch_name como se muestra en el código siguiente
git branch test-branch
git checkout test-branch
git pull origin test-branch
y para otra rama llamada cambio-el-título ejecute el siguiente código =>
git branch change-the-title
git checkout change-the-title
git pull origin change-the-title
Feliz programacion :)
El Git moderno debería poder detectar sucursales remotas y crear una local al momento de pagar.
Sin embargo, si hiciste un clon superficial (por ejemplo, con --depth 1
), prueba los siguientes comandos para corregirlo:
git config remote.origin.fetch ''+refs/heads/*:refs/remotes/origin/*''
git fetch --all
y tratar de retirar la sucursal de nuevo.
Alternativamente, intente descalificar a su clon, por ejemplo, git fetch --unshallow
y vuelva a intentarlo.
Ver también: ¿Cómo obtener todas las ramas remotas?
Este error también puede aparecer si su rama git no es correcta aunque sea sensible a mayúsculas y minúsculas. En mi caso, estaba obteniendo este error ya que el nombre de la rama real era "CORE-algo", pero estaba tomando algo como "core-something".
Intente clonar antes de hacer la compra.
haz clon "whee para encontrarlo" y luego de clonar echa un vistazo a la rama
Solución:
Para solucionarlo, debes buscar primero
$ git fetch origin
$ git rebase origin/master
El maestro de sucursal actual está actualizado.
$ git checkout develop
Desarrollo de sucursales configurado para rastrear desarrollos de sucursales remotas desde el origen.
Cambiado a una nueva rama ''desarrollar''
También puede obtener este error con cualquier versión de git si la rama remota se creó después de su último clon / fetch y su repositorio local aún no lo sabe. Lo resolví haciendo primero un git fetch
que "le dice" a su representante local acerca de todas las sucursales remotas.
git fetch
git checkout test-branch
solo sigue tres pasos, el problema de la rama git será resuelto.
git remote update
git fetch
git checkout --track origin/test-branch