Git: sembrava essere in "(nessun branch)" e poi ha perso i miei cambiamenti

Stavo cercando di spingere dal mio spazio di lavoro Git fino a Github ma i miei cambiamenti aggiunti e commessi non sembrano essere caricati.

Poi, facendo un "branch di git" ho qualcosa che sembrava così:

  • Imansible inizializzare la gozzo-init
  • ansible "catene" repos di git?
  • Come utilizzare Git su più sisthemes simili
  • Utilizzo di git per distribuire
  • ha rimosso i file di grandi size da git repo; repo ancora umano
  • Repository GIT su LAN
  • git branch * (no branch) master 

    Foolishly, ho pensato che potrei tornare nel padrone con

     git checkout master 

    e ora i miei cambiamenti sembrano andati. Il mio branch padrone è vecchio di un giorno. E non sembra modo di tornare a questo (nessun branch).

    Sono i miei cambiamenti persi? Oppure c'è un modo per recuperarli?

  • Come modificare la cronologia di git per correggere un indirizzo email / nome errato
  • Git non riesce a spingere con errore "fuori memory"
  • ha rimosso i file di grandi size da git repo; repo ancora umano
  • ansible "catene" repos di git?
  • Utilizzo di git per distribuire
  • git diff tra due rami quando il path è cambiato
  • 3 Solutions collect form web for “Git: sembrava essere in "(nessun branch)" e poi ha perso i miei cambiamenti”

    Finché non hai fatto un git gc , allora non hai perso nulla. Tutto quello che devi fare è trovarlo di nuovo 🙂 Cosa ottieni con:

     git reflog show 

    Questo dovrebbe mostrare cosa è successo e l'id dei nodes mancanti.

    La risposta di cui sopra è corretta. Questo è ciò che ho fatto:

     $ git reflog 5b35f6d HEAD@{1}: pull github master: Fast forward ca92d15 HEAD@{2}: checkout: moving from 759dab1b15731ce7680c26839ca470d20e709e36 to master 759dab1 HEAD@{3}: commit (merge): Merge branch 'master' of github.com:gonzojive/IODB-ui into HEAD 065e269 HEAD@{4}: commit: added fieldsets to snazzy form f357606 HEAD@{5}: commit: preliminary support for google maps. ca92d15 HEAD@{6}: checkout: moving from master to ca92d15d272867b63d54f96d4aa57f8ecc479cd0 $ git checkout ca92d15d272867b63d54f96d4aa57f8ecc479cd0 

    Il "Oh No!" momento è questo:

     checkout: moving from master to ca92d15d272867b63d54f96d4aa57f8ecc479cd0 

    ca92d15d272867b63d54f96d4aa57f8ecc479cd0 è il branch anonimo che si presenta come (nessun branch). Per tornare ad esso, basta fare un check-out e il tuo vecchio pseudobranch è ripristinato.

    Raccommand di eseguire il backup del tuo repository prima di accidentalmente gc, solo per la pace della mente.

     # if you have already checked out to master, # you won't know the commit-ish of your "no branch": git fsck --lost-found # (to find your <commit-ish>) git merge <commit-ish> # if you are still on your "no branch" commit: git log # (the commit-ish will be on the first line) git checkout master git merge <commit-ish> # or git log | head -n 1 | cut -d ' ' -f 2 | pbcopy git checkout master git merge <commit-ish> 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.