Prévia do material em texto
Controle de versão Aqui esta uma lista de perguntas de multipla escolha sobre o tema "Controle de Versao", com respostas explicativas. O conteudo esta organizado naturalmente, com uma linguagem fluida e objetiva, e possui mais de 1000 palavras conforme solicitado. 1. O que e controle de versao? a) Processo que permite monitorar as alteracoes em documentos e codigos, facilitando a colaboracao entre equipes. b) Metodo para dividir o codigo em partes menores, facilitando o entendimento e manutencao do software. c) Sistema utilizado para testar a compatibilidade do software com diferentes versoes de sistemas operacionais. d) Tecnica para garantir que o codigo nunca seja alterado apos a sua criacao. Resposta correta: a) Processo que permite monitorar as alteracoes em documentos e codigos, facilitando a colaboracao entre equipes. Explicacao: O controle de versao e um sistema que permite gerenciar as alteracoes feitas no codigo fonte ou em qualquer tipo de documento, permitindo que diferentes desenvolvedores ou equipes colaborem de maneira eficiente. 2. Qual a principal vantagem do uso de sistemas de controle de versao distribuidos, como o Git? a) Permite que o codigo seja versionado e armazenado em um unico servidor central. b) Permite que cada desenvolvedor tenha uma copia completa do repositorio, facilitando o trabalho offline e a colaboracao distribuida. c) Exige que os desenvolvedores trabalhem apenas em uma unica branch de codigo, evitando conflitos. d) Garante que todos os desenvolvedores possam modificar o codigo sem que haja necessidade de testes. Resposta correta: b) Permite que cada desenvolvedor tenha uma copia completa do repositorio, facilitando o trabalho offline e a colaboracao distribuida. Explicacao: Em sistemas como o Git, cada desenvolvedor tem uma copia completa do repositorio, permitindo que eles trabalhem offline e, posteriormente, facam merge de suas alteracoes com a versao principal de forma eficiente. 3. O que significa o termo "commit" em um sistema de controle de versao? a) Acao de enviar alteracoes diretamente para o ambiente de producao. b) Ato de registrar e salvar as mudancas feitas no codigo em um repositorio local ou remoto. c) Processo de verificar a integridade do codigo antes de realizar o deploy. d) Tecnica para remover versoes antigas do codigo-fonte. Resposta correta: b) Ato de registrar e salvar as mudancas feitas no codigo em um repositorio local ou remoto. Explicacao: O "commit" e a acao de registrar alteracoes feitas no codigo, salvando essas modificacoes em um repositorio de controle de versao. Essa operacao permite que voce registre de forma clara e organizada as mudancas feitas ao longo do tempo. 4. Qual a funcao do comando "git pull" no Git? a) Enviar as alteracoes feitas localmente para o repositorio remoto. b) Atualizar o repositorio local com as ultimas alteracoes feitas no repositorio remoto. c) Criar um novo branch a partir do repositorio remoto. d) Remover um arquivo do repositorio remoto. Resposta correta: b) Atualizar o repositorio local com as ultimas alteracoes feitas no repositorio remoto. Explicacao: O comando "git pull" e utilizado para atualizar o repositorio local com as ultimas alteracoes feitas no repositorio remoto, integrando automaticamente as modificacoes. 5. O que e um "branch" no controle de versao? a) Uma copia independente do repositorio, onde as alteracoes sao feitas sem afetar o codigo principal. b) A versao final do codigo, pronta para ser liberada para a producao. c) O processo de integrar as alteracoes feitas em diferentes repositorios. d) Uma ferramenta de backup utilizada para salvar versoes anteriores do codigo. Resposta correta: a) Uma copia independente do repositorio, onde as alteracoes sao feitas sem afetar o codigo principal. Explicacao: Um "branch" e uma ramificacao do repositorio principal, onde os desenvolvedores podem trabalhar em alteracoes sem afetar o codigo principal. Apos as modificacoes serem concluidas, elas podem ser mescladas (merge) de volta ao branch principal. 6. Qual o objetivo do "merge" no Git? a) Dividir um repositorio em multiplos repositorios independentes. b) Unir as alteracoes feitas em dois ou mais branches, integrando o codigo de forma eficiente. c) Criar uma nova versao do codigo, eliminando todas as versoes anteriores. d) Realizar um backup completo do repositorio local para o servidor remoto. Resposta correta: b) Unir as alteracoes feitas em dois ou mais branches, integrando o codigo de forma eficiente. Explicacao: O "merge" e usado para combinar alteracoes feitas em diferentes branches. Ele integra os codigos de forma que as modificacoes em ambos os branches sejam fundidas no codigo principal ou em um branch especifico. 7. O que e um "conflict" no Git? a) Quando duas versoes do codigo nao podem ser mescladas automaticamente devido a alteracoes conflitantes em uma mesma linha de codigo. b) Quando o repositorio remoto esta indisponivel e nao e possivel fazer o "pull". c) Quando um "commit" e feito sem passar nos testes automatizados. d) Quando um arquivo e excluido acidentalmente e nao pode ser recuperado. Resposta correta: a) Quando duas versoes do codigo nao podem ser mescladas automaticamente devido a alteracoes conflitantes em uma mesma linha de codigo. Explicacao: Um "conflict" ocorre quando duas pessoas fazem alteracoes na mesma parte do codigo, e o Git nao consegue resolver automaticamente a diferenca entre as modificacoes. Isso exige intervencao manual para decidir qual versao do codigo sera mantida. 8. O que e o conceito de "fork" no GitHub? a) Criar uma copia independente de um repositorio para poder modifica-lo sem afetar o repositorio original. b) Dividir o repositorio em multiplas versoes sem a necessidade de controle de versao. c) Reverter o codigo de um repositorio para uma versao anterior. d) Enviar um commit para o repositorio original de forma automatica. Resposta correta: a) Criar uma copia independente de um repositorio para poder modifica-lo sem afetar o repositorio original. Explicacao: O "fork" e uma funcionalidade do GitHub que permite criar uma copia de um repositorio, permitindo que voce faca alteracoes sem afetar o repositorio original. E util para contribuir com projetos open-source. 9. O que significa o comando "git clone"? a) Criar um novo repositorio a partir de um repositorio existente. b) Baixar uma versao de um repositorio remoto e criar uma copia local em sua maquina. c) Excluir o repositorio local e buscar novamente do repositorio remoto. d) Modificar o codigo de um repositorio diretamente no repositorio remoto. Resposta correta: b) Baixar uma versao de um repositorio remoto e criar uma copia local em sua maquina. Explicacao: O comando "git clone" e usado para criar uma copia local de um repositorio remoto. Ele baixa o codigo e o historico de commits, permitindo que voce trabalhe localmente. 10. O que e um "tag" em um repositorio Git? a) Uma etiqueta usada para identificar versoes importantes do codigo, como releases ou marcos de desenvolvimento. b) Um tipo de branch usado para armazenar funcionalidades experimentais. c) Uma forma de agrupar commits relacionados a um mesmo problema. d) Uma maneira de bloquear a alteracao de arquivos especificos no repositorio. Resposta correta: a) Uma etiqueta usada para identificar versoes importantes do codigo, como releases ou marcos de desenvolvimento. Explicacao: Um "tag" e utilizado para marcar pontos especificos no historico do repositorio, como versoes de lancamento ou marcos importantes. Isso facilita a identificacao e o retorno a essas versoes no futuro. 11. Qual e a diferenca entre "git pull" e "git fetch"? a) "Git fetch" atualiza o repositorio local, mas nao faz merge das alteracoes, enquanto "git pull" faz tanto o fetch quanto o merge automaticamente. b) "Git pull" apenas atualiza o repositorio local sem integrar as alteracoes. c) "Git fetch" e "git pull" sao comandos identicos no Git. d)"Git pull" e utilizado apenas para baixar novos arquivos do repositorio remoto. Resposta correta: a) "Git fetch" atualiza o repositorio local, mas nao faz merge das alteracoes, enquanto "git pull" faz tanto o fetch quanto o merge automaticamente. Explicacao: O comando "git fetch" baixa as alteracoes do repositorio remoto para o repositorio local, mas nao as integra no seu codigo. Ja o "git pull" baixa as alteracoes e as integra automaticamente ao seu branch atual. 12. O que e um "rebase" no Git? a) O processo de mesclar mudancas de dois branches de forma automatica. b) A operacao de atualizar o historico de commits para que o codigo local seja reescrito, com base em outro branch. c) A criacao de um novo branch baseado em um repositorio remoto. d) A reversao de