2012-01-04 11 views
6

hago esto:¿Por qué esta serie de comandos git-svn resulta en un HEAD separado?

$ git svn clone http://monsterdebugger.googlecode.com/svn/ -s --prefix=svn/ monsterdebugger 
$ cd monsterdebugger 
$ git branch -a 
* master 
    remotes/svn/trunk 
$ git co remotes/svn/trunk 
Note: checking out 'remotes/svn/trunk'. 

You are in 'detached HEAD' state. <And so on...> 

supongo que no estoy entendiendo bien lo que está pasando bajo el capó aquí. ¿Los controles remotos/svn/trunk no deberían ser una rama de rastreo contra el repositorio svn? ¿Por qué terminé con una cabeza desprendida?

+0

¿No es 'master' su rama de seguimiento? ¿Por qué quieres ver la rama remota? De todos modos, creo que tu pregunta es un duplicado de esta: http://stackoverflow.com/questions/3965676/why-did-git-detach-my-head. En esencia, cada vez que revisa una sucursal que no es "suya" (como una sucursal remota), obtiene una HEAD separada. –

+0

* ¿Es * maestro mi rama de seguimiento? ¡Esa es una pregunta fascinante! No es BASTANTE una pregunta engañosa, ya que se trata específicamente de git-svn, aunque probablemente no suponga tanta diferencia como me preocupa. –

+0

sí, probablemente sí. Echa un vistazo a 'master' y haz' git svn dcommit --dry-run' y mira lo que te dice. –

Respuesta

8

Es porque es una rama remota. Necesita crear una sucursal local, con algo como:

git checkout -b my-trunk remotes/svn/trunk 
+0

o '-B 'incluso, si my-trunk ya existe? –

Cuestiones relacionadas