← Questões de Engenharia de Software

Engenharia de Software · FGV · 2023

Questão comentada de Engenharia de Software

O comando git que deve ser usado para descartar commits que foram feitos apenas localmente e traz o repositório local para o estado do último push do repositório remoto é o

Gabarito: A

Quando voce quer voltar o repositório local para o estado do ultimo envio ao remoto, a ideia é apagar os commits que ficaram apenas na sua maquina. Isso é bem diferente de "desfazer" um commit com outro commit novo: aqui a intenção é reescrever o historico local e jogar fora o que ainda nao foi publicado. No Git, quem faz esse tipo de movimentacao é o reset. Ele pode mover o ponteiro da branch para um commit anterior e, dependendo da opção usada, também pode ajustar a area de trabalho e o stage. Em prova, a leitura-chave é: se os commits foram feitos so localmente e voce quer voltar ao ultimo push, pense em reset. Ja o revert nao apaga historico; ele cria um novo commit que desfaz o efeito de um commit anterior. Ou seja, é útil quando o commit ja foi compartilhado e voce nao quer reescrever a historia do repositório. Git é meio ciumento com o historico: reset mexe no passado local, revert só escreve uma nova resposta para o erro. Por isso o gabarito A esta correto. A banca quer o comando usado para descartar commits locais e alinhar a copia local ao ultimo estado publicado no remoto, e esse comportamento é tipico do git reset.

Continue treinando

Questões relacionadas