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? 8
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
orreset
then checkout tomaster
(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
ouother
.$ 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