Estendendo respostas anteriores, às vezes tenho um conjunto complexo de alterações em etapas, mas desejo confirmar uma alteração separada primeiro. Por exemplo, eu posso ter detectado um bug ou código incorreto que gostaria de corrigir antes das alterações em etapas. Um caminho possível a seguir é o seguinte:
primeiro esconda tudo, mas deixe as alterações em etapas intactas
$ git stash save --keep-index [--include-untracked]
agora esconda as mudanças faseadas separadamente também
$ git stash save
faça alterações para correção; e teste; comprometa-os:
$ git add [--interactive] [--patch]
$ git commit -m "conserta ..."
agora restaure as alterações preparadas anteriormente:
$ git stash pop
resolva quaisquer conflitos e observe que, se houver conflitos, o git terá aplicado, mas não eliminado, a entrada principal do stash.
(... Em seguida, confirme as alterações em etapas, restaure o estoque de todas as outras alterações e continue ...)