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!
Top comments (0)