Questão
ID 66543Disciplina: Tecnologia da Informação
Assuntos: Conceitos Básicos de Controle de Versão, GIT
Ano: 2025 Banca: PERFIL - ENADE Órgão: Segundo Simulado Pnd
Em uma disciplina de Engenharia de Software para licenciandos, o professor quer ensinar a importância do versionamento de código, utilizando o Git como ferramenta. Ele percebe que os alunos usam o Git de forma rudimentar, tratando-o como um simples 'backup na nuvem' (`git add .`, `git commit -m "update"`, `git push`). Para aprofundar a compreensão, ele foca no conceito de 'ramos' (branches) e na sua utilidade para o desenvolvimento colaborativo e organizado. Ele apresenta um trecho do livro 'Pro Git' de Scott Chacon e Ben Straub: "O uso de ramos é uma das características mais poderosas do Git. Em vez de todos trabalharem em uma única linha do tempo (o ramo `main` ou `master`), as equipes podem criar ramos para desenvolver novas funcionalidades (`feature branches`) ou para corrigir bugs (`hotfix branches`) de forma isolada. Isso permite que o ramo principal permaneça sempre estável e pronto para ser implantado, enquanto o trabalho em andamento ocorre em paralelo nos ramos. Uma vez que a funcionalidade está completa e testada, o ramo pode ser mesclado (merged) de volta ao ramo principal. Esse fluxo de trabalho, conhecido como Git Flow ou similar, previne que código incompleto ou quebrado afete o resto da equipe." O professor então propõe um cenário: uma equipe de três alunos está desenvolvendo um site para a escola. O site já tem uma versão estável no ramo `main`. As próximas tarefas são: (1) adicionar uma nova página de 'Notícias' e (2) corrigir um bug visual no rodapé da página inicial.
Qual seria o fluxo de trabalho com Git que melhor aplica o conceito de ramos para gerenciar as tarefas propostas?