Questão de Engenharia de Software — Git — CESPE / CEBRASPE 2024
- Código
- ce403870
- Banca
- CESPE / CEBRASPE
- Órgão
- MPO
- Ano
- 2024
- Cargo
- APO ( )
- CCerto
- EErrado
GabaritoE — Errado
Gabarito: Errado (E). O comando que incorpora as alterações de um repositório remoto no ramo atual é o git pull, e não o git clone. O git clone cria uma cópia local de um repositório remoto, enquanto o git pull busca e integra as alterações do remoto no ramo de trabalho atual. A afirmativa troca a função de dois comandos distintos do Git, e é exatamente essa distinção que a questão cobra.
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 em sua máquina local. Essa característica é fundamental para entender a diferença entre os comandos. Quando você inicia o trabalho em um projeto existente, o primeiro passo é obter uma cópia do repositório remoto para o seu ambiente local. Esse processo é realizado pelo git clone, que baixa todo o histórico de commits, todas as branches e todos os arquivos do repositório remoto para o seu computador. Após o clone, você tem um repositório local independente, com o qual pode trabalhar offline.
O git pull, por sua vez, é um comando que atua em um repositório que já foi clonado. Ele é utilizado para atualizar o repositório local com as alterações que foram feitas no repositório remoto por outros desenvolvedores. O git pull é, na verdade, uma combinação de dois outros comandos: git fetch, que baixa as alterações do remoto para uma área de armazenamento local (sem integrá-las ao seu trabalho), e git merge, que integra essas alterações ao ramo atual em que você está trabalhando. Portanto, o git pull é o comando que "incorpora as alterações de um repositório remoto no ramo atual", como descrito na afirmativa.
A confusão entre git clone e git pull é comum, mas a distinção é clara: o clone é usado uma única vez para criar a cópia inicial do repositório, enquanto o pull é usado repetidamente para manter essa cópia atualizada. Imagine que você está trabalhando em um projeto com outros colegas. No primeiro dia, você usa git clone para baixar o projeto para o seu computador. Nos dias seguintes, antes de começar a trabalhar, você usa git pull para obter as alterações que seus colegas fizeram. Se você usasse git clone novamente, estaria criando uma nova cópia do repositório, o que não é o comportamento desejado para atualizar seu trabalho existente.
A banca explora exatamente essa troca de comandos. O candidato que não domina a diferença entre clone e pull pode facilmente marcar a afirmativa como correta, pois ambos os comandos estão relacionados à interação com o repositório remoto. No entanto, a função de cada um é distinta: um cria, o outro atualiza. Guarde essa fronteira: clone = criar cópia; pull = atualizar cópia existente. É nela que a questão se decide.
A afirmativa está errada porque atribui ao comando git clone a função de incorporar alterações de um repositório remoto no ramo atual, o que é função do git pull. O git clone é utilizado para criar uma cópia local de um repositório remoto, baixando todo o histórico e todas as branches. Já o git pull é o comando que busca as alterações do repositório remoto e as integra ao ramo de trabalho atual, sendo uma combinação de git fetch e git merge. A banca trocou a função de dois comandos distintos, e a alternativa correta é a que identifica essa inversão.
Gabarito: Errado (E).
Link permanente: /questoes/ce403870