2013-08-01 11 views
9

Ho letto molti post relativi a questo numero oggi (uno utile qui: Fix a Git detached head?Why did my Git repo enter a detached HEAD state?).Problema distaccato di Git

Oggi mi sono grattato la testa. Non sono in grado di capire come risolvere questo problema anche dopo aver letto quegli articoli.

Ieri è andato tutto bene, ricordo di aver dato un comando di checkout. La sera ho scoperto che Git non mostrava cambiamenti, anche se erano presenti cambiamenti locali. Dopo aver fatto ricerche oggi, ho potuto vedere ora che lo stato git mostra "HEAD detached from 99f040f".

Da allora ho rimosso la cartella .git nella mia D: (sul mio Windows 7) e ripristinata .git del backup del 27 luglio. Ancora non risolto. Ho provato anche la versione del 25 luglio. Ma senza fortuna. Quindi ho ripristinato la versione di .git di ieri.

Sto incollando lo screenshot di gitk. C'è qualcosa che posso fare per correggere questo problema? enter image description here

+1

'git checkout -b temp' per il backup ciò che avete in questo momento,' branch' git per vedere quali rami sono in pronti contro termine, e quindi 'git checkout ' per arrivare al ramo desiderato. – Ajedi32

+0

possibile duplicato di [Git: come posso riconciliare l'HEAD distaccato con master/origine?] (Http://stackoverflow.com/questions/5772192/git-how-can-i-reconcile-detached-head-with-master- origine) – kan

risposta

11

di tornare al l'ultimo ramo check-out, è sufficiente digitare

git checkout - 

sembra un po '(ricerca di You may also specify nella documentazione di git checkout) sotto-documentato, ma funziona per me.
potuto anche essere usato come una scorciatoia utile per la commutazione tra due rami:

git checkout master 
git checkout branchwithaverylongnamethatyoudontwanttotypeagain 
git checkout - # brings back master 
git checkout - # brings back branchwithaverylongnamethatyoudontwanttotypeagain 
+0

Nella descrizione dell'opzione '': È anche possibile specificare - che è sinonimo di "@ {- 1}". – rodrigo

+0

@rodrigo: grazie per il suggerimento. risposta aggiornata – eckes

+0

Si noti che per le filiali con nomi molto lunghi che non si desidera digitare nuovamente, git supporta il completamento della tabulazione dei nomi dei rami. – Ajedi32

Problemi correlati