O git foi criado por Linus Torvalds. git é um Sistema de controle de versões distribuído ou DVCS... O sistema de controle possui a função de registrar todas as alterações feitas no código armazenando tudo para caso um programador precise regredir no código ele possa voltar exatamente no ponto onde está o erro de um jeito simples e fácil... além do mais esse sistema simplifica muito o processo de compartilhamento do projeto para time de desenvolvedores ou seja para outros programadores. Sendo mais fácil gerenciar o que cada um está fazendo sem que um gere um problema para o código do outro
Para se construir um software consistente preciso é ter estratégia, tempo e planejamento dessa forma e muito importante saber sobre versionamento de códigos... o versionamento de códigos consiste em estratégias para gerenciar diferentes versões de código, de um sistema ou modelo... dessa forma fica muito mais fácil e segura de administrar as mudanças que são feitas de uma transição para outra. Porém o versionamento não está presente somente em códigos de programação temos versionamento como exemplo o próprio google docs onde permite você analisar várias etapas de um texto possibilitando recuperar uma versão antiga do mesmo. Um exemplo de versionamento de códigos temos o próprio GitHub podendo administrar as mudanças que foram feitas no código e se algo não funcionar voltar o código para o estágio em que o mesmo esta operacional.
O git é um dos melhores gerencimentos de versões, devido as suas caracteresiticas que diferem ele ao outros controles de versão no mundo open source, dado seu sistema altamente otimizado de versões em grafos, além disso a possibilidade de acompanhar e colaborar com projetos de diferentes equipes, aprender programação na prática ao observar o avanço do desenvolvimento de aplicações de terceiros; participar de discussões a respeito de novas tecnologias; obter auxílio de outros programadores para resolver problemas relacionados a seus projetos; controlar as diferentes versões de um código com armazenamento em nuvem; registrar ações e projetos desenvolvidos por você em uma espécie de github portfólio online, etc
Fácil de trabalhar pois a maioria das operações do Git são rápidas, especialmente porque são efetuadas na cópia do seu repositório local. O git trackeia a movimentação dos arquivos, possibilitando um histórico de modificações visível. Ele também permite que você ignore certos arquivos com o .gitignore, os arquivos que forem especificados nele, não irão para o repositório, vão ficar armazenados localmente apenas. O Git também disponibiliza as branches, quando você precisa trabalhar numa nova feature experimental sem interferir no código principal do seu projeto. Eles também permitem que diferentes desenvolvedores trabalhem em diferentes features sem interferir no trabalho de cada um. Quando as features estiverem prontas, eles podem fazer o merge das mudanças do branch para o branch principal.
Um dos principais objetivos do versionamento de software é proporcionar o trabalho em equipe, garantindo que todos os membros do time tenham acesso aos arquivos do projeto e identificando o que cada um está fazendo e as mudanças já realizadas. Com o versionamento de software, é possível criar pequenas versões internas, na qual cada um dos programadores fará suas alterações sem se preocupar com os demais membros do time. Isso porque cada versão é isolada, evitando problemas. Ao mesmo tempo, outros colaboradores podem acessar essas pequenas versões caso necessário, tanto para auxiliar na demanda como para verificar o andamento das tarefas designadas ao programador. Ao finalizar essa tarefa, o desenvolvedor pode realizar a inclusão de suas alterações na versão comum, o que leva a função a ser disponibilizada aos demais. Caso algum erro aconteça, o controle de versionamento permite reverter as alterações para uma versão anterior, na qual as mudanças não existiam.
6- Cite pelo menos três ferramentas de controle de versão e faça um breve detalhamento sobre cada uma delas.
A CVS é uma das ferramentas de controle de software mais antigas no mercado. A primeira versão dela foi desenvolvida em 1968. Essa ferramenta possui como maior desvantagem o fato de ser considerada como uma tecnologia antiga. Porém, ainda é bastante utilizada por equipes de desenvolvedores.
No meio corporativo, o Subversion é uma ferramenta de controle de versão de software bastante utilizada. Ela é bastante rápida na execução das funcionalidades do sistema e ainda se mostra como uma das mais simples de ser empregada. Isso significa que com um conhecimento básico de conceitos relacionados ao controle de versão de software é possível executar comandos na ferramenta. A aprendizagem da equipe também é rápida nesse aspecto.
O Mercurial é a ferramenta de controle de versão de software utilizada por grandes empresas como o Facebook e Google. Ela é bastante eficiente, o que significa que consegue desempenhar bem as funções básicas de um bom controle de software.