Questão de Engenharia de Software — Gerência de Configuração — FGV 2023
- Código
- fg072694
- Banca
- FGV
- Órgão
- TJ-SE
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista Judiciário - Especialidade - Análise de Sistemas - Web Designer
- Alog;
- Btag;
- Cdiff;
- Dstash;
- Eblame.
GabaritoE — blame.
Gabarito: letra E (blame). O comando git blame (ou git annotate) é a ferramenta padrão do Git que exibe, para cada linha de um arquivo, o hash do commit, o autor e a data da última modificação. É exatamente o que Carlos precisa para identificar quem alterou cada linha durante a resolução de um conflito de merge. Os demais comandos (log, tag, diff, stash) têm finalidades distintas e não fornecem essa informação linha a linha com o autor.
A banca confunde git log com git blame. Enquanto git log exibe o histórico de commits e pode mostrar diferenças com -p, ele não oferece uma visão linha a linha com o autor de cada alteração de forma direta. git blame é o comando específico para essa atribuição.
git log exibe o histórico de commits do repositório, mas não mostra informações linha a linha de um arquivo específico. É útil para visualizar a sequência de commits, não para atribuir cada linha a um autor.
git tag é usado para marcar commits específicos (como versões), não para exibir conteúdo de arquivos ou autor por linha.
git diff mostra diferenças entre commits, branches ou o diretório de trabalho, mas não exibe o autor de cada linha. É útil para ver o que mudou, não quem mudou.
git stash salva modificações não commitadas em uma pilha para limpar o diretório de trabalho. Não tem relação com exibir informações de autor por linha.
git blame (ou git annotate) exibe, para cada linha de um arquivo, o último commit que modificou aquela linha, incluindo o autor, data e hash. É a ferramenta ideal para rastrear a origem de alterações e resolver conflitos de merge.
Gabarito: letra E.
Link permanente: /questoes/fg072694