2011-01-13 11 views
45
[email protected]:/media/dev/belgravia$ git branch 
* (no branch) 
    master 

Non sono sicuro di come sia successo, ma c'è un modo per unire il ramo senza ramo al master. Non sono sicuro di come unire due rami quando uno di loro non è un ramo. I commit in no-branch sembrano essere sciolti. Temo che checkout master causerà la perdita di dati.Unisci (nessun ramo) nel master

+0

Nel mio caso, è appena successo dopo un conflitto durante 'git rebase'. Basta fare git rebase --continue' e ti riporta al ramo in cui ti trovavi prima. – Frank

+0

correlati anche: http://stackoverflow.com/questions/366093/git-commit-against-tag-with-no-branch – rogerdpack

risposta

69

Utilizzare git show per ottenere l'ID di commit SHA1 dell'attuale HEAD. Con queste informazioni, non puoi perdere quei commit.

Poi, interruttore di dominare e:

git merge abc123 

dove abc123 è la SHA1 dal primo passo.

+5

Quello che ho finito per fare era 'branch temp',' checkout master', 'unire temp' . Non ho spostato alcun ramo in un vero ramo, quindi potrei unirlo. La tua soluzione è più semplice comunque. – Keyo

+1

@Keyo: non ha spostato "nessun ramo" in un ramo. Ha creato un ramo sul tuo attuale HEAD (commit attualmente estratto). Quando il ramo git ha detto "no branch", significava proprio questo: non si era ancora verificato alcun ramo. Questo è anche noto come capo distaccato. – Cascabel

+0

@Jefromi Grazie per la spiegazione. – Keyo

3

Il motivo che avete (senza Branch) che avete fatto:

git checkout REMOTE_BRANCH_NAME 
  • Al fine di poter lavorare a livello locale su quel ramo che dovete fare: git checkout -b local_branch_new_name
  • ora fare un: git branch - a
  • si vedrà:

local_branch_new_na Mi

master 
  • Da qui è possibile unire un ramo nel maestro come di consueto. passare al master e fare:

    git merge local_branch_new_name

4

forse si può commetterlo sul ramo corrente (no-filiale)

Poi si deve fare:

git reflog 

Dopo di che è possibile ottenere l'id di questo commit come 1d84d08

do:

git checkout master 
git merge 1d84d08 
+0

semplice e il migliore – onalbi

Problemi correlati