Para manter suas alterações atuais
Você pode manter seu trabalho escondido, sem comprometer-o git stash
. Você usaria git stash pop
para recuperá-lo. Ou você pode (como disse Carleeto ) git commit
em um ramo separado.
Fazer o check-out por data usando a análise de revisão
Você pode fazer o check-out de um commit em uma data específica usando o rev-parse
seguinte:
git checkout 'master@{1979-02-26 18:30:00}'
Mais detalhes sobre as opções disponíveis podem ser encontradas em git-rev-parse
.
Conforme observado nos comentários, esse método usa o reflog para encontrar o commit em seu histórico. Por padrão, essas entradas expiram após 90 dias . Embora a sintaxe para usar o reflog seja menos detalhada, você só pode voltar 90 dias.
Saída por data usando rev-list
A outra opção, que não usa o reflog, é usar rev-list
para obter o commit em um determinado momento com:
git checkout `git rev-list -n 1 --first-parent --before="2009-07-27 13:37" master`
Observe o --primeiro pai, se você quiser apenas o histórico e não as versões trazidas por uma mesclagem. Isso é o que você geralmente quer.
git bisect good
ponto inicial .