2012-01-04 8 views
6

faccio questo:Perché questa serie di comandi git-svn genera un HEAD distaccato?

$ 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...> 

Credo che non sto pienamente capire che cosa sta succedendo sotto il cofano qui. Non dovresti remotare/svn/trunk essere un ramo di monitoraggio contro il repository SVN? Perché sono finito con una testa staccata?

+0

Non è "master" il ramo di monitoraggio? Perché vuoi controllare il ramo remoto? Ad ogni modo, penso che la tua domanda sia un duplicato di questo: http://stackoverflow.com/questions/3965676/why-did-git-detach-my-head. In sostanza, ogni volta che controlli un ramo che non è "tuo" (come un ramo remoto), ottieni un TESTO distaccato. –

+0

* È * master il mio ramo di monitoraggio? Questa è una domanda affascinante! Non è QUI una domanda duplice, perché riguarda specificamente git-svn, anche se probabilmente non fa la differenza che mi interessa. –

+0

sì, probabilmente lo è. Controlla 'master' e fai' git svn dcommit --dry-run' e guarda cosa ti dice. –

risposta

8

È perché è una filiale remota. È necessario creare un ramo locale per esso, con qualcosa di simile:

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

o '-B' anche se il mio trunk esiste già? –

Problemi correlati