DEV Community

Matheus Gomes 👨‍💻
Matheus Gomes 👨‍💻

Posted on

Git e Github, qual a diferença?

Primeiramente, olá!

Segundamente...

O que é o Git?

Ele é um Sistema de Controle de Versão Distribuída (Source Control Management - SCM), foi criado por Linus Torvalds em 2005 para auxiliar no desenvolvimento do Linux

Mas o que é um SCM e o que ela tem a ver com o git?

Durante o desenvolvimento do software queremos saber:

  • O que mudou e quando?
  • Por que mudou?
  • Quem fez a mudança?
  • Podemos reproduzir esta mudança?

Assim um SCM vem resolver esses problemas permitindo as seguintes ações:

  • Identificação
  • Documentação
  • Controle
  • Auditoria

Isso tanto para o código fonte quanto para o manual do usuário e documentações essenciais. Irei focar na parte de Controle agora e como ela é importante.

Controle de Versão

Problema exemplo:

Você precisa editar um código que está no seu Dropbox. Assim você faz o download do arquivo, faz as alterações necessárias e salva o arquivo no Dropbox.

Até agora nenhum problema, vamos ver o que acontece caso você esteja trabalhando em equipe agora.

Seu amigo decidiu que irá editar o código. Vocês baixam o mesmo arquivo juntos. Você edita e salva no Dropbox, seu colega tambem edita e salva no Dropbox e acaba sobrescrevendo seu código. Você acaba de perder informações valiosas da sua modificação, pois seu amigo baixou a versão antiga junto com você e isso sobrescreveu seu código.

O controle de versão resolve esse problema, ele faz o 'merge' (junção) entre as alterações. Assim, quando você tem duas alterações elas são modificadas para ficarem coerentes no seu arquivo.

Vale dizer que o Git é um sistema distribuído, assim você tem o respositório no servidor e cada pessoa que estiver desenvolvendo o código terá uma cópia da pasta do mesmo, não precisando estar conectado no servidor para fazer modificações.

Então o Git é isso, um SCM distribuído que salva a vida de muito programador ao tornar o processo bem mais seguro, rápido e eficiente principalmente para programar em grupos.

Ok, eu entendi o que é o Git e o que ele faz, mas...

O que é o Github?

Bom, Github é um servidor de repositórios Git, uma espécie de rede social para códigos também. Ele é um serviço recente, criado em 2008 ele possui mais de 10 milhões de usuários e +10 milhões de repositórios.

Resumindo

Git é o sistema de versionamento de código. Github é o servidor onde estarão armazenados os códigos e uma rede social.

Caso haja interesse, posso fazer um artigo explicando os principais comandos do github como o commit, pull, push, entre outros. Posso falar também de gitflow, uma parte essencial para o desenvolvimento em grupos.

Bom, por enquanto é isso galera. Espero que tenham gostado, qualquer sugestão só deixar nos comentários!

Discussion (0)