DEV Community

Matheus Gomes 👨‍💻
Matheus Gomes 👨‍💻

Posted on

2 1

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!

AWS Q Developer image

Your AI Code Assistant

Generate and update README files, create data-flow diagrams, and keep your project fully documented. Built to handle large projects, Amazon Q Developer works alongside you from idea to production code.

Get started free in your IDE

Top comments (0)

The Most Contextual AI Development Assistant

Pieces.app image

Our centralized storage agent works on-device, unifying various developer tools to proactively capture and enrich useful materials, streamline collaboration, and solve complex problems through a contextual understanding of your unique workflow.

👥 Ideal for solo developers, teams, and cross-company projects

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay