Prévia do material em texto
Branch O que e uma branch em sistemas de controle de versao como o Git? a) Um tipo de arquivo de configuracao do projeto b) Uma copia independente do codigo onde mudancas podem ser feitas sem afetar o codigo principal c) A ferramenta usada para compilar o codigo d) Uma funcao que realiza a execucao de testes automaticamente Resposta correta: b) Uma copia independente do codigo onde mudancas podem ser feitas sem afetar o codigo principal Explicacao: No Git, uma branch e uma linha paralela de desenvolvimento. Isso permite que voce trabalhe em diferentes funcionalidades ou correcoes de bugs sem afetar a branch principal (geralmente chamada de "master" ou "main"). Qual e o comando para criar uma nova branch no Git? a) git commit -b nome-da-branch b) git branch nome-da-branch c) git checkout -b nome-da-branch d) git create branch nome-da-branch Resposta correta: b) git branch nome-da-branch Explicacao: O comando git branch nome-da-branch cria uma nova branch. Se voce quiser alternar para essa branch imediatamente, pode usar git checkout -b nome-da-branch, que cria e muda para a branch em um unico comando. Quando voce cria uma branch no Git, o que acontece com o seu codigo atual? a) O codigo e duplicado automaticamente para a nova branch b) O codigo e apagado da branch atual c) O codigo atual permanece na branch atual e voce comeca uma nova linha de desenvolvimento na nova branch d) O codigo e enviado automaticamente para o repositorio remoto Resposta correta: c) O codigo atual permanece na branch atual e voce comeca uma nova linha de desenvolvimento na nova branch Explicacao: Criar uma branch no Git nao altera o codigo atual. Ele mantem as alteracoes que voce fez na branch onde esta e cria uma nova linha de desenvolvimento para que voce possa trabalhar sem afetar a branch original. Qual comando permite alternar entre branches no Git? a) git switch nome-da-branch b) git change nome-da-branch c) git checkout nome-da-branch d) Ambos a) e c) sao corretos Resposta correta: d) Ambos a) e c) sao corretos Explicacao: O comando git checkout nome-da-branch e o mais recente git switch nome-da-branch servem para alternar entre branches. Ambos tem o mesmo objetivo, mas o git switch foi introduzido para tornar o processo mais intuitivo. O que significa merging de branches no Git? a) Deletar uma branch apos seu uso b) Mesclar as alteracoes de uma branch com outra c) Criar uma nova branch a partir de uma branch existente d) Atualizar o repositorio remoto com as alteracoes locais Resposta correta: b) Mesclar as alteracoes de uma branch com outra Explicacao: O comando de merge e utilizado para integrar as alteracoes de uma branch para outra. Por exemplo, ao concluir uma nova funcionalidade em uma branch de desenvolvimento, voce pode fazer um merge dela para a branch principal (como a "main"). O que acontece quando ha conflitos durante o processo de merge? a) O Git automaticamente resolve os conflitos e continua o merge b) O Git bloqueia a operacao de merge ate que os conflitos sejam resolvidos manualmente c) O merge e cancelado automaticamente d) O Git exclui uma das branches envolvidas no conflito Resposta correta: b) O Git bloqueia a operacao de merge ate que os conflitos sejam resolvidos manualmente Explicacao: Quando ha conflitos no processo de merge, o Git nao pode decidir automaticamente qual versao do codigo deve ser mantida. Portanto, ele bloqueia a operacao ate que o desenvolvedor resolva os conflitos manualmente. Qual e o comando para excluir uma branch local no Git? a) git branch -d nome-da-branch b) git branch --delete nome-da-branch c) git delete nome-da-branch d) git remove branch nome-da-branch Resposta correta: a) git branch -d nome-da-branch Explicacao: O comando git branch -d nome-da-branch e usado para excluir uma branch local no Git, desde que ela tenha sido completamente mesclada com outra branch. Para forcar a exclusao de uma branch que ainda nao foi mesclada, pode-se usar o comando git branch -D nome-da-branch. Qual e o proposito de usar uma branch de "feature" (funcionalidade) em um projeto de software? a) Testar o codigo em producao b) Realizar mudancas no codigo sem interferir na branch principal c) Resolver problemas de desempenho d) Organizar commits antigos de forma eficiente Resposta correta: b) Realizar mudancas no codigo sem interferir na branch principal Explicacao: A branch de "feature" e criada para desenvolver novas funcionalidades sem afetar o codigo estavel na branch principal. Isso permite testar e implementar novas caracteristicas de forma isolada. O que significa "fast-forward merge" no Git? a) Uma mesclagem que ocorre sem necessidade de intervencao do usuario b) Uma operacao que apenas move o ponteiro da branch para a frente, sem criar um commit de merge c) Uma fusao que e feita automaticamente, sem realizar verificacoes d) Um merge que ignora qualquer conflito Resposta correta: b) Uma operacao que apenas move o ponteiro da branch para a frente, sem criar um commit de merge Explicacao: Um "fast-forward merge" ocorre quando a branch a ser mesclada esta diretamente a frente da branch de destino, sem que haja divergencias. Nesse caso, o Git apenas move o ponteiro da branch de destino para o ultimo commit da branch de origem, sem criar um novo commit de merge. Como voce pode ver todas as branches disponiveis em seu repositorio Git? a) git list branches b) git branches c) git branch d) git show branches Resposta correta: c) git branch Explicacao: O comando git branch lista todas as branches locais no repositorio, destacando a branch atual. Para ver as branches remotas, voce pode usar git branch -r. O que e uma branch remota no Git? a) Uma branch que existe apenas no repositorio local b) Uma branch armazenada em um repositorio externo (como GitHub ou GitLab) c) Uma copia de seguranca do codigo d) Uma versao antiga de um codigo que foi deletado Resposta correta: b) Uma branch armazenada em um repositorio externo (como GitHub ou GitLab) Explicacao: As branches remotas sao aquelas que estao armazenadas em um repositorio externo e sao frequentemente usadas para colaboracao em equipe. Elas sao referenciadas pelo nome do repositorio remoto, como origin/branch-name. Qual comando voce usaria para atualizar suas branches locais com as mudancas do repositorio remoto? a) git fetch b) git pull c) git push d) git update Resposta correta: a) git fetch Explicacao: O comando git fetch e utilizado para baixar as atualizacoes das branches remotas para o repositorio local. Isso nao altera as branches locais, mas mantem o repositorio atualizado com o que foi feito no remoto. Quando voce deve usar o comando git pull? a) Para criar uma nova branch local a partir de uma branch remota b) Para enviar as alteracoes locais para o repositorio remoto c) Para baixar as mudancas de um repositorio remoto e mescla-las com a branch atual d) Para excluir uma branch remota Resposta correta: c) Para baixar as mudancas de um repositorio remoto e mescla-las com a branch atual Explicacao: O comando git pull combina o git fetch com o git merge, baixando as mudancas do repositorio remoto e aplicando-as na branch atual. Qual e a principal vantagem de usar multiplas branches em um projeto de software? a) Elas permitem que voce desenvolva varias funcionalidades de forma isolada, sem interferir no codigo principal b) Elas tornam o processo de desenvolvimento mais demorado c) Elas aumentam a complexidade do codigo d) Elas eliminam a necessidade de versionamento de codigo Resposta correta: a) Elas permitem que voce desenvolva varias funcionalidades de forma isolada, sem interferir no codigo principal Explicacao: O uso de multiplas branches permite que desenvolvedores trabalhem de forma independente em diferentes funcionalidades ou correcoes de bugs, mantendo o codigo principal estavel ate que as mudancas sejam validad