Questão de Engenharia de Software — Git — INSTITUTO AOCP 2024
Engenharia de Software›Git
Código
qa631614
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )
No que tange à ferramenta de controle de versão GIT, assinale a alternativa correta.
AO comando git commit é utilizado para enviar as alterações locais diretamente para o repositório remoto.
BO comando git clone é utilizado para criar um novo branch a partir do branch atual.
CO GIT utiliza um modelo centralizado de controle de versão, em que todas as versões dos arquivos são armazenadas em um servidor central.
DO comando git merge é utilizado para combinar alterações de diferentes branches em um único branch.
EO comando git pull é utilizado para adicionar arquivos novos ao índice (staging area).
Revelar gabarito e comentário▾
GabaritoD — O comando git merge é utilizado para combinar alterações de diferentes branches em um único branch.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Git: comandos essenciais e modelo distribuído
Gabarito: letra D. O comando git merge é, de fato, utilizado para combinar alterações de diferentes branches em um único branch, integrando o histórico de desenvolvimento. As demais alternativas trocam as funções de comandos básicos do Git, como commit, clone, pull e add, e a alternativa C descreve erroneamente o Git como um sistema centralizado, quando ele é distribuído.
O Git é um sistema de controle de versão distribuído, o que significa que cada desenvolvedor possui uma cópia completa do repositório, com todo o histórico de commits, em sua máquina local. Isso difere dos sistemas centralizados, como o SVN, onde existe um servidor central que armazena o repositório e os clientes interagem com ele para obter e enviar alterações. No Git, a maioria das operações é realizada localmente, sem depender de conexão com um servidor, o que garante velocidade e permite trabalhar offline.
O Git organiza o projeto em três áreas principais: o diretório de trabalho (working directory), onde os arquivos são criados e editados; a área de preparo (staging area), um espaço temporário que registra as alterações antes de serem salvas; e o repositório (repository), que armazena permanentemente o histórico do projeto. O fluxo básico de trabalho envolve modificar arquivos no diretório de trabalho, adicioná-los à área de preparo com git add, e então consolidar as alterações com git commit, criando um novo snapshot do projeto.
Os comandos do Git são as ferramentas que permitem gerenciar esse fluxo e o histórico de versões. Cada comando tem uma função específica, e é comum que provas de concurso cobrem exatamente essa distinção. Vamos analisar cada alternativa, identificando o erro específico de cada uma.
O comando git commitnão envia alterações diretamente para o repositório remoto. Ele registra as alterações que estão na área de preparo (staging area) no repositório local, criando um novo commit no histórico. Para enviar os commits locais para um repositório remoto, utiliza-se o comando git push. A alternativa confunde o commit (ação local) com o push (ação de envio ao remoto).
Alternativa B — ❌ Incorreta
O comando git clone é utilizado para copiar um repositório remoto existente para a máquina local, criando uma cópia de trabalho com todo o histórico. Ele não cria um novo branch a partir do branch atual. Para criar um novo branch, utiliza-se o comando git branch <nome> ou git checkout -b <nome>. A alternativa atribui ao clone uma função que pertence ao branch/checkout.
Alternativa C — ❌ Incorreta
O Git não utiliza um modelo centralizado de controle de versão. Ele é um sistema distribuído, onde cada desenvolvedor possui uma cópia completa do repositório em sua máquina local. Essa é uma das principais características do Git, que o diferencia de ferramentas como o SVN. A alternativa descreve o modelo centralizado, que não se aplica ao Git.
Alternativa D — ✅ Correta ⟵ GABARITO
O comando git merge é utilizado para combinar alterações de diferentes branches em um único branch. Quando você trabalha em um branch separado (por exemplo, para desenvolver uma nova funcionalidade) e deseja incorporar essas alterações ao branch principal (como main ou master), você executa git merge. Esse comando integra o histórico de commits do branch de origem ao branch de destino, criando um novo commit de merge (ou avançando o ponteiro, no caso de fast-forward). É uma operação fundamental para integrar o trabalho de diferentes desenvolvedores ou linhas de desenvolvimento.
Alternativa E — ❌ Incorreta
O comando git pull é utilizado para atualizar o repositório local com as alterações do repositório remoto, combinando as operações de fetch (baixar as alterações) e merge (integrar as alterações ao branch atual). Ele não adiciona arquivos novos ao índice (staging area). Para adicionar arquivos à staging area, utiliza-se o comando git add. A alternativa confunde pull com add.
NÃO CAIA NESSA!
A banca explora a confusão entre os comandos que atuam em diferentes áreas do Git. O candidato que não domina o fluxo básico (working directory → staging area → repositório local → repositório remoto) tende a misturar as funções de add, commit, push e pull. Lembre-se: add prepara, commit registra localmente, push envia ao remoto e pull traz do remoto. Com treino, você enxerga essas trocas de longe 💪.