usamos una tag repositorio remota rama qué para eliminar crear comando cambiar git git-checkout

una - git: fatal: no se puede cambiar de rama a un ''12382'' no comprometido



tag en git (3)

Alguien más en mi equipo creó una nueva sucursal de git, comprometida y empujada al control remoto habitual con el que trabajamos. Cuando trato de revisar esta rama, obtengo esto:

% git checkout 12382 fatal: Cannot switch branch to a non-commit ''12382''

No he tenido problemas para verificar otras sucursales de este repositorio; Intenté comprobar otra justo después de esto (una de la que no tenía una copia local), y funcionó bien.

Intenté construir un servidor con esta rama en nuestra tubería de Go, funcionó bien, lo que significa que el servidor tuvo éxito al verificar esa rama.

Intenté esto para verificar el estado de las cosas:

% git remote show origin * remote origin Fetch URL: [email protected]:mycompany/myrepository.git Push URL: [email protected]:mycompany/myrepository.git HEAD branch: stage Remote branches: 10112 tracked 10198 tracked 10678 tracked ... 12382 tracked <<<--- ... Local branches configured for ''git pull'': ... Local refs configured for ''git push'': ...

¿Alguien podría sugerir cómo solucionar esto? ¿Qué salió mal?


@knittl: gracias que funcionó, tuvo que hacer los siguientes pasos adicionales:

% git checkout refs/remotes/origin/12382 Note: checking out ''refs/remotes/origin/12382''. You are in ''detached HEAD'' state. You can look around, make experimental changes and commit them, and you can discard any commits you make in this state without impacting any branches by performing another checkout. If you want to create a new branch to retain commits you create, you may do so (now or later) by using -b with the checkout command again. Example: git checkout -b new_branch_name HEAD is now at 2d834e4... % git branch | grep 12382 * (detached from origin/12382) % git checkout -b 12382 Switched to a new branch ''12382'' % git status On branch 12382 nothing to commit, working directory clean % git push --set-upstream origin 12382 Branch 12382 set up to track remote branch 12382 from origin. Everything up-to-date


Git está confundido, porque 12382 parece un hash de confirmación. Utilice el nombre completo para pagar la sucursal:

git checkout refs/heads/12382 --

o, si es una rama remota:

git checkout refs/remotes/origin/12382 --


La pregunta es un caso de borde y ya ha sido contestada.

Contestaré el error en un nivel más general:

Para poder cambiar / desproteger a algo en su árbol de fuentes debe ser de tipo:

  • commit: git checkout: 90392aeda17d730d472493bc5a36237407c80979 o tal vez solo haga los primeros 7 dígitos `` git checkout: 90392ae`
  • etiqueta git checkout V2.0.3
  • sucursal (sucursales remotas también) git checkout newLogin
  • HEAD git checkout HEAD^1
  • Hash, Hash corto.

Entonces, si está cambiando a algo que no es ninguno de ellos, como escribió mal el nombre de su sucursal, git le daría este error.

No se puede cambiar de rama a un no-comprometido significa que piensa que está tratando de pagar algo que no es de tree-ish