Questão de Engenharia de Software — Git — CESPE / CEBRASPE 2023
Engenharia de Software›Git
Código
ce397784
Banca
CESPE / CEBRASPE
Órgão
SERPRO
Ano
2023
Cargo
Ana ( )
Julgue o item seguinte, relativo às ferramentas de gestão de configuração.
No Git, o usuário, para compartilhar um commit com membros de sua equipe de desenvolvimento, deve executar os três passos descritos a seguir: adicionar arquivos da cópia de trabalho à área de staging, usando o comando git add; enviar para seu repositório local, usando o comando git push; e enviar para um repositório remoto compartilhado, usando o comando git checkout.
CCerto
EErrado
Revelar gabarito e comentário▾
GabaritoE — Errado
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: fluxo de trabalho para compartilhar um commit
Gabarito: Errado (E). O item está incorreto porque descreve de forma equivocada os comandos do Git: o git push envia os commits para um repositório remoto, e não para o repositório local; o git checkout não é o comando para enviar nada a lugar algum — ele serve para alternar entre branches ou restaurar arquivos. O fluxo correto para compartilhar um commit com a equipe é: git add (adicionar à área de staging), git commit (registrar o commit no repositório local) e git push (enviar o commit para o repositório remoto compartilhado).
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. O fluxo de trabalho básico para registrar e compartilhar alterações envolve três áreas principais: o diretório de trabalho (working directory), onde os arquivos são editados; a área de staging (ou área de preparo), onde as alterações são selecionadas para compor o próximo commit; e o repositório local, que armazena o histórico de commits. Para compartilhar um commit com a equipe, o desenvolvedor precisa, primeiro, adicionar as alterações desejadas à área de staging com git add, depois consolidar essas alterações em um commit no repositório local com git commit e, por fim, enviar esse commit para o repositório remoto compartilhado com git push. O comando git checkout não participa desse fluxo de envio; ele é utilizado para alternar entre branches ou restaurar arquivos do repositório para o diretório de trabalho.
A banca explora a confusão entre os comandos git push e git commit, além de inserir o git checkout como um comando de envio, o que não é sua função. O candidato que não domina o fluxo básico do Git pode ser induzido a aceitar a sequência apresentada, mas a análise cuidadosa revela os erros. É fundamental memorizar o papel de cada comando: git add prepara, git commit registra localmente e git push publica no remoto. O git checkout é um comando de navegação e restauração, não de envio.
Para fixar, veja o fluxo correto em um diagrama:
NÃO CAIA NESSA!
A banca troca o git commit pelo git push e ainda usa o git checkout como se fosse um comando de envio. O candidato que decora os comandos sem entender o fluxo pode aceitar a sequência errada. Lembre-se: git push envia para o remoto, git commit registra no local, e git checkout apenas alterna branches ou restaura arquivos.
Item — ❌ Errado
O item afirma que o usuário deve executar três passos: git add, git push (para o repositório local) e git checkout (para o repositório remoto). Há dois erros claros:
git push não envia para o repositório local — o git push é o comando que envia commits do repositório local para um repositório remoto. O comando que registra o commit no repositório local é o git commit.
git checkout não envia nada para repositório remoto — o git checkout é usado para alternar entre branches ou restaurar arquivos do repositório para o diretório de trabalho. Não é um comando de envio.
O fluxo correto para compartilhar um commit com a equipe é: git add (adicionar à staging), git commit (registrar no repositório local) e git push (enviar para o repositório remoto). Portanto, o item está errado.