Para manter suas alterações atuais
Você pode manter seu trabalho escondido, sem comprometer-o git stash. Você usaria git stash poppara recuperá-lo. Ou você pode (como disse Carleeto ) git commitem 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-parseseguinte:
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-listpara 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 goodponto inicial .