Questão nº 59
Questão de Tecnologia da Informação · FGV TJ-SE Servidor 2023 (nº 59)
Carlos está resolvendo um conflito de merge em um projeto que utiliza a ferramenta de versionamento Git. A fim de elucidar o conflito, Carlos recorreu ao comando git capaz de exibir cada linha de um determinado arquivo junto a informações do último commit que modificou a linha, incluindo o autor do commit.
Carlos recorreu ao comando git:
- Alog;
- Btag;
- Cdiff;
- Dstash;
- Eblame. (alternativa correta)
Resposta comentada
Gabarito Alternativa E
O comando git blame é usado para descobrir quem foi o último a modificar cada linha de um arquivo, mostrando o commit e o autor responsável por aquela alteração. Isso é muito útil para entender a origem de um código ou de um conflito.
- (A) Incorreta: O comando
git logexibe o histórico de commits do repositório ou de um arquivo, mas não mostra qual commit alterou cada linha específica do arquivo. Armadilha da banca: Ogit loglida com histórico de commits e autores, o que pode confundir, mas ele não oferece a granularidade linha a linha que a questão pede. - (B) Incorreta: O comando
git tagé usado para marcar pontos específicos no histórico do projeto como importantes (ex: versões de lançamento), não tendo relação com a autoria de linhas de código. - (C) Incorreta: O comando
git diffmostra as diferenças entre dois estados (commits, branches, arquivos), mas não a autoria de cada linha do arquivo atual. - (D) Incorreta: O comando
git stashé usado para salvar temporariamente alterações não commitadas, permitindo que você mude de branch ou trabalhe em outra coisa, sem relação com a autoria de linhas. - (E) Correta: O comando
git blame <nome_do_arquivo>é exatamente o que Carlos precisa, pois ele exibe cada linha do arquivo junto com o commit e o autor que a modificou por último.
Fonte: FGV TJ-SE Servidor 2023 Analista Judiciário - Análise de Sistemas - Web Designer (Caderno Tipo 1). Reproduzida para fins de estudo.