Questão nº 96
Questão de Tecnologia da Informação · FGV TCE-PA 2024 (nº 96)
O GIT é uma ferramenta importante, amplamente utilizada no desenvolvimento de códigos de computador. Com seu uso, múltiplos desenvolvedores podem participar de um projeto simultaneamente, editando e criando arquivos sem o risco de que suas alterações conflitem de formas inesperadas.
Em relação ao GIT, avalie as afirmativas a seguir.
I. Ao fazer modificações que visem apenas a otimização da velocidade de execução e utilização da memória do código base da aplicação, o commit deve ser realizado simultaneamente nos diversos branches ativos.
II. Mudanças salvas com o comando git stash podem ser reaplicadas em branches diferentes daquelas em que foram geradas.
III. O comando git log, sem argumentos, lista os commits realizados no repositório.
Está correto o que se afirma em
- AI, apenas.
- BII, apenas.
- CIII, apenas.
- DII e III, apenas. (alternativa correta)
- EI e III, apenas.
Resposta comentada
Gabarito Alternativa D
O Git é um sistema de controle de versão distribuído, ou seja, ele guarda o histórico de todas as alterações do seu código (os commits) e permite que você trabalhe em linhas de desenvolvimento paralelas, chamadas de branches (ramos). A ideia central é que cada mudança seja feita de forma isolada e depois integrada, evitando que um trabalho atrapalhe o outro.
- (A) Incorreta: A otimização de código é uma alteração como qualquer outra e deve ser feita em um branch específico (geralmente um de desenvolvimento ou feature), testada e só depois integrada aos demais via merge ou pull request. Fazer commit simultaneamente em vários branches quebra o isolamento e pode gerar conflitos e confusão no histórico.
- (B) Incorreta: A afirmativa II é verdadeira, mas não é a única correta. O comando
git stashguarda alterações não commitadas em uma área temporária, e você pode aplicá-las (git stash applyougit stash pop) em qualquer branch que desejar, desde que não haja conflitos. - (C) Incorreta: A afirmativa III também é verdadeira, mas não é a única correta. O comando
git logsem argumentos exibe a lista de commits do branch atual em ordem cronológica reversa (do mais recente para o mais antigo), mostrando hash, autor, data e mensagem. - (D) Correta: Esta é a resposta do gabarito. As afirmativas II e III estão corretas: o
git stashpermite reaplicar mudanças em outros branches (II), e ogit loglista os commits do repositório (III). A afirmativa I está errada, pois commits não devem ser feitos simultaneamente em vários branches para otimização; isso deve ser feito em um branch específico e depois integrado. - (E) Incorreta: A afirmativa I é falsa (como explicado na letra A), e a III é verdadeira. Como a questão pede a combinação correta, unir uma falsa com uma verdadeira torna a alternativa errada. A armadilha aqui é o aluno achar que "otimização" é uma tarefa especial que justifica mexer em tudo ao mesmo tempo, mas no Git a regra é sempre trabalhar de forma isolada e integrada.
Fonte: FGV TCE-PA 2024 Auditor de Controle Externo - Informática - Analista de Suporte (Caderno Tipo 1). Reproduzida para fins de estudo.