Prévia do material em texto
Branch O que e um branch em sistemas de controle de versao como Git? a) Uma copia permanente do repositorio b) Uma ramificacao do codigo principal que permite desenvolvimento paralelo c) Um comando para deletar arquivos d) Um tipo de commit automatico Resposta explicativa: A alternativa correta e a b. Um branch e uma ramificacao do codigo principal, permitindo que desenvolvedores trabalhem em funcionalidades ou correcoes de forma isolada, sem afetar o codigo principal ate que estejam prontos para integrar as alteracoes. Qual e a finalidade principal de criar um branch em um projeto de software? a) Apagar versoes antigas do codigo b) Desenvolver novas funcionalidades ou corrigir bugs de forma independente c) Compactar arquivos do repositorio d) Substituir o repositorio principal Resposta explicativa: A alternativa correta e a b. Branches permitem que equipes desenvolvam funcionalidades ou corrijam problemas sem interferir diretamente na versao principal do software, garantindo seguranca e organizacao no processo de desenvolvimento. O que acontece quando um branch e mesclado (merge) ao branch principal? a) O branch principal e apagado automaticamente b) As alteracoes do branch secundario sao incorporadas ao branch principal c) O branch secundario e transformado em um commit d) Nada acontece, os branches continuam independentes Resposta explicativa: A alternativa correta e a b. Quando um branch e mesclado ao branch principal (geralmente chamado de main ou master), as alteracoes feitas no branch secundario sao integradas ao codigo principal, mantendo o historico de commits. Qual comando do Git e utilizado para criar um novo branch? a) git commit b) git branch c) git merge d) git checkout Resposta explicativa: A alternativa correta e a b. O comando git branch cria um novo branch no repositorio local, permitindo que o desenvolvedor trabalhe em uma ramificacao isolada do codigo principal. Qual e a diferenca entre git checkout -b e git branch ? a) git branch cria o branch, git checkout -b cria e ja muda para ele b) git checkout -b deleta o branch, git branch cria c) Nao ha diferenca d) git branch atualiza o branch, git checkout -b faz merge Resposta explicativa: A alternativa correta e a a. git branch apenas cria o branch, enquanto git checkout -b cria o branch e automaticamente muda o contexto de trabalho para ele, economizando passos no fluxo de desenvolvimento. O que e um branch feature em projetos de software? a) Um branch usado para testes de performance b) Um branch criado para desenvolver uma nova funcionalidade especifica c) Um branch que nunca sera mesclado d) Um branch que substitui o branch principal Resposta explicativa: A alternativa correta e a b. Branches de feature sao utilizados para desenvolver funcionalidades especificas de maneira isolada, facilitando a colaboracao em equipes e evitando conflitos com o codigo principal ate que a funcionalidade esteja pronta. Qual e a utilidade de um branch hotfix? a) Para desenvolver novas funcionalidades b) Para corrigir rapidamente bugs criticos em producao c) Para testar codigos nao utilizados d) Para deletar branches antigos Resposta explicativa: A alternativa correta e a b. Hotfixes sao branches criados para corrigir problemas criticos diretamente na versao de producao, garantindo que o sistema volte a funcionar corretamente sem esperar pelo ciclo normal de desenvolvimento. Por que e importante manter o branch principal (main ou master) estavel? a) Porque ele contem codigo que esta pronto para producao b) Porque nunca sera atualizado c) Porque e invisivel aos desenvolvedores d) Porque nao suporta merges Resposta explicativa: A alternativa correta e a a. O branch principal deve estar sempre estavel e funcional, ja que ele representa a versao de producao ou a versao oficial do projeto, servindo como base para todos os outros branches. O que significa rebase em relacao a branches? a) Excluir um branch antigo b) Aplicar commits de um branch em outro, reorganizando o historico c) Criar multiplos branches ao mesmo tempo d) Sincronizar o branch com um servidor remoto Resposta explicativa: A alternativa correta e a b. O git rebase permite pegar commits de um branch e aplica-los em outro, reorganizando o historico de forma linear, o que pode facilitar o entendimento do desenvolvimento e evitar merges desnecessarios. O que e um conflito de merge em branches? a) Quando dois branches possuem commits diferentes na mesma linha de codigo b) Quando o branch e deletado acidentalmente c) Quando o Git nao consegue criar um branch d) Quando nao ha commits no branch Resposta explicativa: A alternativa correta e a a. Conflitos de merge acontecem quando dois branches modificam a mesma linha ou trecho de codigo, exigindo intervencao manual para decidir qual alteracao deve ser mantida. Como e possivel visualizar todos os branches existentes em um repositorio Git? a) git log b) git branch c) git commit d) git merge Resposta explicativa: A alternativa correta e a b. O comando git branch lista todos os branches locais do repositorio. Adicionando a opcao -a, e possivel visualizar tambem os branches remotos. O que acontece quando deletamos um branch local que ja foi mesclado ao principal? a) Todas as alteracoes sao perdidas b) Nada acontece, as alteracoes ja estao integradas no branch principal c) O branch principal e apagado automaticamente d) O Git cria um novo branch com o mesmo nome Resposta explicativa: A alternativa correta e a b. Se o branch ja foi mesclado, deleta-lo nao causa perda de dados, pois todas as alteracoes ja foram integradas ao branch principal, mantendo o historico seguro. O que significa um branch remote tracking? a) Um branch local que acompanha as alteracoes de um branch remoto b) Um branch que nunca e atualizado c) Um branch criado para testes de integracao d) Um branch que substitui o servidor remoto Resposta explicativa: A alternativa correta e a a. Branches de tracking remoto sao copias locais de branches remotos que permitem aos desenvolvedores acompanhar as alteracoes feitas por outros membros da equipe, mantendo o codigo sincronizado. Por que equipes grandes costumam usar muitos branches simultaneamente? a) Para confundir os desenvolvedores b) Para permitir que multiplos desenvolvedores trabalhem em funcionalidades diferentes sem causar conflitos c) Para reduzir o tamanho do repositorio d) Para evitar commits Resposta explicativa: A alternativa correta e a b. O uso de multiplos branches permite que cada desenvolvedor ou grupo trabalhe de forma isolada em funcionalidades, correcoes ou testes, evitando conflitos diretos com o branch principal e facilitando o controle de versoes. Qual e a diferenca entre um branch temporario e um branch permanente? a) Temporario e usado so para testes rapidos e depois pode ser deletado, permanente mantem historico de desenvolvimento b) Nao existe diferenca c) Permanente e sempre criado no servidor, temporario no computador d) Temporario nao permite commits Resposta explicativa: A alternativa correta e a a. Branches temporarios sao criados para testes ou pequenas alteracoes, podendo ser deletados depois de concluidos, enquanto branches permanentes mantem historico e sao usados para desenvolvimento continuo ou funcionalidades importantes. O que significa branch off em um fluxo de desenvolvimento? a) Excluir o branch principal b) Criar um novo branch a partir de um branch existente c) Mesclar dois branches automaticamente d) Reiniciar o repositorio Resposta explicativa: A alternativa correta e a b. Branch off significa criar uma ramificacao a partir de outro branch, geralmente o principal, para iniciar um desenvolvimento paralelo sem afetar o codigo existente. Como um branch pode impactar o processo de revisao de codigo (code review)? a) Branches tornam revisoes impossiveis b) Permitem que alteracoessejam revisadas isoladamente antes de serem integradas ao principal c) Mesclam automaticamente todas as alteracoes sem revisao d) Apagam o historico de commits Resposta explicativa: A alternativa correta e a b. Trabalhar em branches facilita a revisao de codigo, pois cada conjunto de alteracoes pode ser revisado separadamente, garantindo que apenas mudancas aprovadas sejam integradas ao branch principal. O que e branching strategy em projetos de desenvolvimento? a) Um conjunto de regras para criar e gerenciar branches de forma organizada b) Um comando do Git c) Um tipo de branch automatico d) Um padrao para deletar branches antigos Resposta explicativa: A alternativa correta e a a. Branching strategy define como os branches serao criados, nomeados, integrados e deletados dentro de um projeto, ajudando a manter a equipe organizada e a reduzir conflitos de codigo. Qual e a diferenca entre merge e rebase em relacao a branches? a) Merge integra alteracoes mantendo o historico, rebase aplica alteracoes reorganizando o historico b) Merge deleta o branch, rebase cria um novo c) Merge e usado so para branches remotos, rebase para locais d) Nao ha diferenca Resposta explicativa: A alternativa correta e a a. Merge combina branches mantendo o historico original de commits, enquanto rebase reaplica os commits de um branch em outro, criando um historico linear e mais limpo, mas alterando a ordem dos commits originais. Por que e importante nomear branches de forma clara e consistente? a) Para que o Git funcione mais rapido b) Para facilitar a identificacao do proposito de cada branch e melhorar a colaboracao c) Para reduzir o tamanho do repositorio d) Para impedir merges Resposta explicativa: A alternativa correta e a b. Nomes claros ajudam os desenvolvedores a entender rapidamente a funcao de cada branch, seja para desenvolvimento de feature, correcao de bug ou hotfix, promovendo organizacao e eficiencia na equipe. Se voce quiser, posso continuar expandindo esta lista ate ultrapassar 100 perguntas detalhadas, garantindo mais de 1000 palavras com explicacoes ricas e estilo natural. Quer que eu faca isso?