[Música] nessa primeira etapa nós vamos ter uma visão Geral do curso e das Ferramentas que nós vamos utilizar e antes que a gente tiver ali o que é guite o que é que te Hub vamos entender o que significa versionamento de código e para simplificar esse conceito eu trouxe aqui essa tirinha para você onde eu quero que você imagine uma situação em que você e seu amigo estão estudando programação E aí seu amigo chega para você e diz que teve a ideia de um aplicativo que vai deixar vocês dois milionários e apesar de você não
colocar muita fé nisso você de aceitar já que No pior dos casos vai ter ali mais um projeto para adicionar o portfólio então vocês constroem ali juntos um arquivo base e para que cada um possa trabalhar da sua casa quando não estiver juntos vocês criam uma pasta compartilhada no Drive e vão estar indo ali essa primeira versão e a cada nova versão você é uma versão 2 até que também chega um momento que vocês se seu organismo na forma que vocês estão nomeando e percebem também que vão demorar muito tempo esperando um edital arquivo para
que o outro possa baixar aquela versão e tá gerando uma nova então vocês resolvem dividir o que cada um vai fazer para que aí depois vocês possam juntar mais clara esses dois arquivos no sol só que na hora de juntar esses dois arquivos vocês percebem que vão ter mais trabalho do que vocês imaginavam E para piorar a situação o seu amigo estava utilizando como base uma versão desatualizada o que gerou ali um erro de junta que é juntar tudo e joga fora porque não adiantar nada a perder tempo tentando unir aqueles dois arquivos e só
nessa historinha já deu para a gente ver um pouquinho que essa questão do versionamento de código que é justamente a cada alteração ali do seu código você tá gerando uma nova versão e a gente pode perceber também alguns problemas que podem estar vinculados principalmente se for feito assim de forma manual como a gente viu aqui nessa história onde No começo a gente teve aquele problema em relação a organização já que começou de uma forma e depois já mudou o modo como tava nomeando e você imagina nessa situação aqui se vocês quiserem quisessem resgatar algum trecho
de código mas não lembrava em qual versão estava sendo obrigados a inversão por inversão até encontrar ali o que vocês estavam buscando e outro problema que a gente tem nisso é em relação ao armazenamento já que cada alteração você sobem aquele mesmo arquivo unido ali das alterações que vocês fizeram imagina ali do base que vocês subiram tinha ali uns 200 linhas e aí seu amigo em série mais 50 no código ele tem que subir novamente essas 200 linhas mais e 50 que ele adicionou então para resolver esse outros problemas porém que surgiram os sistemas de
controle de versão que eles são softwares ali que controlam as versões de arquivo ao longo do tempo registrando a língua histórico detalhado de cada cada alteração feita então eles gerencia ali tanto Quais alterações foram feitas quanto quem alterou a data enfim e aí nisso a gente acaba eliminando os problemas tanto em relação ali a busca daquele trecho que vocês que vocês estavam procurando quanto em relação ao armazenamento já que ele não vai subir todo o código novamente e sim apenas o trecho ali que Você alterou e tudo isso traz pra gente é o maior organização
e controle além de segurança também porque você pode gerenciar quem vai ter acesso ali para estar contribuindo naquele projeto entre os tipos de sistemas de controle de versão a gente tem o sistema de controle de versão centralizada que a gente traz como exemplos software ciest subvertion e os sistemas de controle de versão distribuídos que a gente tem como exemplo e o mercúrio falando um pouco sobre o sistema de controle de diversão Centralizado nele a gente tem ali apenas um servidor que vai conter todos os livros arquivos responsáveis por esse controle de versão início Ali você
vai ter as áreas de trabalho no caso você e seu amigo conectado ao servidor e ele traz como desvantagem é caso ele acabe ficando fora do ar você acaba não conseguindo salvar ou colaborar ali uma alteração no servidor da mesma forma que se algum arquivo for corrompido é perca de dados nele e não tiver um backup adequado também acaba perdendo todo seu projeto e para resolver alguns problemas vinculados a isso surgindo o sistema de controle de versão distribuído onde nele a gente tem cada repositório ali cada um banco de versão ele é duplicado localmente Então
você e seu amigo ter uma cópia do que tá ali no servidor de vocês principal E aí permite vocês também esta editando aquilo mesmo que o servidor esteja fora do ar e falando um pouco mais sobre esse tipo de sistema neritivo ali que ele como repositório completo que inclui o histórico de alterações O repositório Ali é o local onde você vai estar armazenando ali tantos arquivos em quantos responsáveis pelo gerenciamento dessas versões E aí cada cone desse é como backup que possibilita ali um fluxo de trabalho mais flexível já que cada um pode trabalhar de
um lugar mas se não tiver conectado a lista servidor e dentre os softwares de controle de versão distribuído nós temos o bitch que é o que a gente vai estar vendo no próximo vídeo aguardo você lá [Música]