Pular para o conteúdo principal

Questão de Engenharia de Software — Git — CESPE / CEBRASPE 2024

Engenharia de SoftwareGit
Código
ce403893
Banca
CESPE / CEBRASPE
Órgão
STJ
Ano
2024
Cargo
AJ

Julgue os itens a seguir, em relação a práticas DevOps, CD (continuous delivery) e CI (continuous integration).

 

No modelo gitflow, a branch principal para o ambiente de produção, que deve conter as versões estáveis do código que originam as builds, é denominada feature.

  1. CCerto
  2. 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”.

GitFlow: branches e o papel de cada uma

Gabarito: Errado (E). No modelo GitFlow, a branch principal que contém as versões estáveis do código destinadas à produção é a main (ou master), e não a feature. As branches feature são ramificações temporárias criadas para desenvolver novas funcionalidades isoladamente, sendo mescladas de volta à branch de desenvolvimento (develop) após a conclusão. A afirmação do enunciado inverte completamente os papéis dessas branches.

O GitFlow é uma estratégia de ramificação (branching model) amplamente adotada em projetos que utilizam Git, proposta por Vincent Driessen. Ele organiza o repositório em branches com funções bem definidas, permitindo um fluxo de trabalho previsível e controlado. As principais branches do GitFlow são:

  • main (ou master): contém o código estável, pronto para produção. Cada commit nessa branch representa uma versão publicada.

  • develop: branch de integração, onde o desenvolvimento contínuo acontece. As features são mescladas aqui e, quando há um conjunto de mudanças pronto para lançamento, a develop é mesclada na main.

  • feature/*: branches temporárias criadas a partir da develop para desenvolver novas funcionalidades. Ao concluir, são mescladas de volta à develop e deletadas.

  • release/*: branches criadas a partir da develop para preparar uma nova versão de produção, permitindo ajustes finais e correções de bugs antes do merge na main.

  • hotfix/*: branches criadas a partir da main para correções urgentes em produção, que são mescladas tanto na main quanto na develop.

A confusão entre feature e main é uma pegadinha clássica em provas de Git/DevOps. O candidato que não domina o modelo GitFlow tende a associar a branch de produção a qualquer nome que pareça "principal", mas o termo técnico correto é main (ou master). As branches feature são exatamente o oposto: são ramificações de trabalho temporárias e isoladas, que não devem conter código estável de produção.

Na prática, um fluxo típico de GitFlow seria:

  1. Um desenvolvedor cria uma branch feature/login a partir da develop.

  2. Desenvolve a funcionalidade de login, fazendo commits na branch.

  3. Ao concluir, mescla a feature/login de volta na develop.

  4. Quando um conjunto de features está pronto para lançamento, cria-se uma branch release/1.0 a partir da develop.

  5. Após os ajustes finais, a release/1.0 é mesclada na main e na develop.

  6. A main agora contém a versão estável 1.0, que será implantada em produção.

A banca explora exatamente essa inversão: atribui à branch feature a função da branch principal de produção. É uma armadilha que testa o conhecimento específico do modelo GitFlow, não apenas o conceito genérico de versionamento.

NÃO CAIA NESSA!

A banca troca o papel das branches: afirma que a branch de produção é a feature, quando na verdade a feature é uma ramificação temporária de desenvolvimento. No GitFlow, a branch de produção é a main (ou master). Memorize: feature = desenvolvimento isolado; main = código estável em produção.

Item — ❌ Errado

A afirmação está incorreta porque inverte os papéis das branches no GitFlow. A branch principal para produção, que contém as versões estáveis, é a main (ou master), não a feature. As branches feature são ramificações temporárias criadas a partir da develop para desenvolver novas funcionalidades, e não devem conter código de produção. O erro é claro: a banca trocou o nome da branch de produção pelo nome de uma branch de desenvolvimento.

Gabarito: Errado (E).

Link permanente: /questoes/ce403893