Conhecendo o git e github

Olá caro leitor,

Hoje vamos falar um pouco sobre git e github, esse é apenas o primeiro post sobre o assunto e como sempre é baseado na minha opinião/visão sobre o tema em questão. Por mim eu iria direto para a parte prática, instalar, configurar, comandos… mas percebi que é importante conhecer um pouco sobre controle de versão e pra que eles servem antes de irmos “direto pro git”.
Nesse post falaremos sobre a função do git/github, o que ele faz? porque usa-lo?

O que o git faz? Controle de versão

O git tem a função de fazer o controle de versão de arquivos, seja de código fonte ou não, isso significa que ele registra as mudanças que ocorreram nos arquivos e permitindo a recuperação de  determinadas versões.

 “Ele permite reverter arquivos para um estado anterior, reverter um projeto inteiro para um estado anterior, comparar mudanças feitas ao decorrer do tempo, ver quem foi o último a modificar algo que pode estar causando problemas, quem introduziu um bug e quando, e muito mais. Usar um VCS normalmente significa que se você estragou algo ou perdeu arquivos, poderá facilmente reavê-los. Além disso, você pode controlar tudo sem maiores esforços.” (Git – Documentation)

Conhecendo o git e github – Controles de versão

Existe dois tipos de controle de versão que podemos citar que são diferentes do git, veremos o conceito de ambos a seguir:

1º – Sistema de controle de versão local: Algumas pessoas já fizeram, ou fazem, controle de versão simplesmente copiando o diretório onde os arquivos estão e colocando a data da última modificação como o nome desse novo diretório. Essa técnica apesar de ser simples e pratica ela possui graves defeitos, um deles é que a pessoa que manipula os arquivos pode acabar sobrescrevendo os arquivos sem querer. Os VCSs locais (Version Control System) foram criados para solucionar esse problema e outros problemas, ele trabalha com um arquivo de revisão que armazena todas as modificações, exemplo:

Controle de versão local

Conhecendo git: Controle de versão local

 

2º – Sistema de controle de versão centralizados: Esse modelo soluciona um problema que o controle de versão local possui, a capacidade de se trabalhar em conjunto com outros programadores que utilizam outros sistemas, Subversion e Perfoce, são exemplos de software desse tipo, eles possuem apenas um servidor que contém todos os arquivos versionados e vários usuários que podem fazer o checkout (resgatar) dos arquivos desse servidor. Existe alguns desvantagens também nesse modelo, como os arquivos são armazenados em único local, servidor, o mesmo se torna essencial para o funcionamento do controle de versão, caso fique fora do ar ou sofra algum tipo de dano/ataque, irá comprometer toda a estrutura do projeto.. não é difícil de imaginar o tamanho do dano. Exemplo de um controle de versão centralizado:

 

Conhecendo git: Controle de versão centralizado

Conhecendo git: Controle de versão centralizado

 

3º  – Sistemas de controle de versão distribuidos (DVCS) – Em um DVCS o usuário não apenas faz o checkout da última versão dos arquivos mas sim do repositório inteiro, ou seja, podemos considerar que um checkout funcione como um backup completo do repositório e dessa forma se o servidor falhar, qualquer usuário que tenha feito um checkout poderá utiliza-lo para restaurar o projeto.

O git é um DVCS free e de licença open source, no git é possível se trabalhar de forma local e remota, você pode criar um repositório no seu computador para iniciar o versionamento e depois fazer o upload do seu repositório, o que acaba tornando o projeto mais seguro e acessível para você e outras pessoas que vão poder acessar e possivelmente contribuir para o seu projeto. Eu gosto de pensar no github como uma extensão web do git onde facilita a manipulação e interação com outros programadores e projetos remotos.

Conhecendo o git: Controle de versão distribuidos

Conhecendo o git: Controle de versão distribuidos

No próximo post sobre git/github irei abordar de forma prática a instalação e os primeiros comandos necessários para fazer o versionamento dos arquivos.

Referência:

Primeiros passos sobre controle de versão

 

Você pode gostar...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Show Buttons
Hide Buttons