Ti sei ritrovato con un commit unione libero (due genitori) o solo un commit vuoto? In quest'ultimo caso, potresti aver cancellato .git/MERGE_HEAD
.
Aggiornamento: Piuttosto che eliminare MERGE_HEAD
a mano, si potrebbe anche usare git merge --abort
(as of git 1.7.4) o git reset --merge
(as of git 1.6.2).
E 'anche opportuno ricordare che, almeno a partire dal Git 1.8.3 (forse prima?) Si dovrebbe vedere un messaggio status
come questo se una fusione reale è in corso e deve essere commesso (se è stato specificato --no-commit
, per esempio):
# On branch master
# All conflicts fixed but you are still merging.
# (use "git commit" to conclude merge)
#
nothing to commit, working directory clean
Se non vedi questo e ancora ottenere il MERGE_HEAD
avvertimento, qualcosa è incasinato e si dovrebbe probabilmente solo --abort
per tornare a uno stato pulito.
Ulteriori Dettaglio da Commenti
Durante una stampa, git crea un file MERGE_HEAD nella radice della cartella .git (vicino alla testa, ORIG_HEAD, probabilmente FETCH_HEAD, ecc) per tenere traccia delle informazioni circa l'unione in progresso (in particolare, gli SHA (s) del commit (s) vengono uniti nel corrente HEAD). Se lo elimini, Git non penserà più che sia in corso una fusione. Ovviamente, se una fusione è realmente in corso, non si vorrebbe cancellare questo file.
thaaaaank youuuuuuuuuu! – koenmetsu
Per me questo è apparso come il commit che segna il punto di unione, quindi un messaggio del tipo "Unire dev in master" sarebbe più appropriato di "Test". –
Wow. Ora qualcuno può spiegare perché questo funziona, ma 'git commit' no? – user1205577