Caixa Git-voltar à cabeça

Estive a fazer o meu projecto enquanto descobri que uma coisa deixou de funcionar. Eu precisava olhar para cima o estado de meu código quando estava funcionando corretamente, então eu decidi usar o checkout git (porque eu queria check-something-out). E assim fiz

git checkout SHA

Algumas vezes ao voltar para um ponto do qual não posso ir para a cabeça, a saída é a seguinte:

git checkout SHA-HEAD

error: Your local changes to the following files would be overwritten by checkout:
    [list of files]
Please, commit your changes or stash them before you can switch branches.
Aborting
Tenho quase a certeza que não mudei nada. O comando

git checkout master

dá a a mesma saída.

Há alguma maneira de voltar à cabeça?

Qual é a forma segura de" saltar sobre " os compromissos da história?

Author: Zoe, 2017-02-07

1 answers

Pode stash (guardar as alterações na caixa temporária) depois, voltar para master a cabeça do ramo.

$ git add .
$ git stash
$ git checkout master

Saltar sobre Commits para trás e para a frente:

  • Vá para um específico commit-sha.

    $ git checkout <commit-sha>
    
  • Se tiver alterações por persistir aqui, então poderá obter um novo ramo, adicionar, persistir, empurrar o ramo actual para o remoto.

    # checkout a new branch, add, commit, push
    $ git checkout -b <branch-name>
    $ git add .
    $ git commit -m 'Changes in the commit'
    $ git push origin HEAD        # push the current branch to remote 
    
    $ git checkout master         # back to master branch now
    
  • Se você tem alterações no commit específico e não quer manter as alterações, você can do stash or reset then checkout to master (or, any other branch).

    # stash
    $ git add -A
    $ git stash
    $ git checkout master
    
    # reset
    $ git reset --hard HEAD
    $ git checkout master
    
  • Depois de verificar um commit específico, se não tiver nenhuma alteração por persistir, volte para master ou other.

    $ git status          # see the changes
    $ git checkout master
    
    # or, shortcut
    $ git checkout -      # back to the previous state
    
 12
Author: Sajib Khan, 2017-08-08 06:16:17