Questão de Engenharia de Software — Git — CESPE / CEBRASPE 2023
Engenharia de Software›Git
Código
ce397785
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, havendo a necessidade de criar uma nova branch de nome systemmobile quando, por exemplo, se deseja adicionar código a um projeto, mas não se tem certeza se o código funciona corretamente, é possível criar a referida branch por meio do comando git add -b systemmobile.
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: criação de branch
Gabarito: Errado (E). O comando git add -b systemmobile não existe no Git — a criação de uma nova branch é feita com git branch systemmobile ou git checkout -b systemmobile (que cria e já alterna para a nova branch). O comando git add serve exclusivamente para adicionar alterações à área de staging (index), não para gerenciar branches.
O Git é um sistema de controle de versão distribuído, amplamente utilizado para rastrear mudanças no código e permitir colaboração entre desenvolvedores. Dentro do contexto de gerência de configuração, o Git é uma ferramenta essencial para o controle de versão, permitindo que múltiplas linhas de desenvolvimento coexistam por meio de branches. Uma branch nada mais é do que um ponteiro móvel para um commit específico, permitindo que o desenvolvedor trabalhe em uma funcionalidade isolada sem afetar a branch principal (geralmente main ou master).
A criação de uma branch é uma operação comum quando se deseja adicionar código a um projeto sem ter certeza de que ele funciona corretamente — exatamente o cenário descrito no enunciado. Nesse caso, o desenvolvedor cria uma branch separada, desenvolve e testa o código, e somente depois de validado, faz o merge (integração) com a branch principal. Essa prática é fundamental para o gerenciamento de configuração, pois mantém o histórico de mudanças organizado e controlado.
Os comandos corretos para criar uma branch são:
git branch systemmobile — cria a branch systemmobile apontando para o commit atual, mas não alterna para ela.
git checkout -b systemmobile — cria a branch e já muda para ela (atalho para git branch + git checkout).
git switch -c systemmobile — comando mais moderno, equivalente ao anterior.
Já o comando git add tem função totalmente diferente: ele adiciona as alterações dos arquivos ao índice (staging area), preparando-as para o próximo commit. Por exemplo, git add arquivo.txt marca o arquivo como pronto para ser commitado. Não existe a opção -b no git add; essa opção pertence ao git checkout e ao git switch.
A banca explora exatamente essa confusão: o candidato pode lembrar que -b está relacionado a branch, mas associá-lo erroneamente ao git add. A pegadinha está em trocar o comando responsável pela criação da branch (git checkout -b ou git branch) pelo comando de staging (git add).
NÃO CAIA NESSA!
A banca troca o comando de criação de branch (git checkout -b ou git branch) pelo comando git add, que serve para adicionar arquivos à área de staging. O -b existe, mas no git checkout/git switch, não no git add. Fique atento: git add nunca cria branches.
Criar branch: git branch systemmobile (Cria a branch, Não alterna); git checkout -b systemmobile (Cria e alterna); git switch -c systemmobile (Equivalente moderno); git add (Adiciona à staging, Não cria branch, Não tem opção -b)
Item — ❌ Errado
O enunciado afirma que é possível criar a branch systemmobile por meio do comando git add -b systemmobile. Isso está incorreto por dois motivos:
O comando git add não possui a opção -b. A opção -b é exclusiva dos comandos git checkout e git switch, que a utilizam para criar e alternar para uma nova branch em uma única operação.
A função do git add é adicionar alterações ao índice (staging area). Ele não tem qualquer relação com a criação de branches. O comando correto para criar a branch seria git branch systemmobile (apenas cria) ou git checkout -b systemmobile (cria e alterna).