A desenvolvedora Amélia está trabalhando no projeto AppBravo. O controle de versões do código-fonte do AppBravo é feito pelo Git. Logo após realizar algumas modificações no branch um do código-fonte do AppBravo, Amélia precisou alterar a cópia de trabalho para o branch dois. Para não perder o progresso feito no branch um, que não estava pronto para ser commitado, Amélia utilizou o comando do Git que arquiva localmente as alterações realizadas que não foram commitadas. Portanto, Amélia utilizou o comando do Git:
- A)diff;
diff compara diferenças entre arquivos ou versões, mas não armazena alterações para uso posterior.
- B)fetch;
fetch baixa atualizações de um repositório remoto, sem relação com guardar mudanças locais não commitadas.
- C)stash;
stash é o comando correto para arquivar temporariamente alterações locais não commitadas e trocar de branch sem perdê-las.
- D)reset;
reset desfaz ou reposiciona o histórico e a área de staging, mas não serve como gaveta temporária de mudanças.
- E)rebase.
rebase reorganiza commits no histórico, sem função de salvar provisoriamente alterações ainda não commitadas.
Gabarito: C
No Git, cada comando tem uma função bem específica, e a banca gosta de trocar nomes parecidos para ver se voce está atento. Quando voce está com alterações locais em andamento e precisa mudar de branch sem perder esse trabalho ainda incompleto, a solução clássica é guardar temporariamente essas mudanças em uma espécie de "gaveta" do Git. Essa gaveta é o stash, que arquiva as alterações não commitadas na cópia de trabalho e deixa o repositório limpo para voce trocar de branch. Isso é diferente de commit, porque o commit registra uma versão definitiva no histórico. O stash, por sua vez, é provisório: ele salva o que foi alterado localmente para voce retomar depois. Em termos práticos, é exatamente o que a questão descreve: Amélia não queria perder o que fez no branch um, mas precisava ir para o branch dois antes de concluir o trabalho. Por isso, o gabarito é C, stash. Em geral, o uso mais comum é algo como "git stash", que guarda as modificações não commitadas, e depois "git stash pop" ou "git stash apply" para recuperá-las. Em prova, sempre pense: se a ideia é esconder temporariamente alterações locais para mudar de contexto, o nome certo é stash.