Se você é um desenvolvedor ou programador, certamente já ouviu falar em Git e GitHub. Mas se ainda não domina nenhuma destas ferramentas, fique tranquilo (a). Neste artigo iremos explicar o que é e como funciona tanto o Git quanto o GitHub.

Antes de falarmos sobre o Git e GitHub, vamos a uma pequena introdução sobre o Controle de Versão, importante para compreender o que é o Git, já que este último nada mais é do que um tipo de sistema que usa o controle de versionamento, importante para quem quer seguir a carreira de TI.

O Controle de Versão permite que você registre as mudanças feitas em um arquivo ou um conjunto de arquivos ao longo do tempo de forma que se possa recuperar versões específicas. Um Sistema de Controle de Versão (VCS) também permite que você reverta arquivos para um estado anterior, compare mudanças feitas no decorrer do tempo, veja quem foi o último a modificar algo que pode estar causando problemas, ou quem introduziu um bug e quando, além de muitas outras alternativas. E tem mais, se você estiver usando um VCS não precisará se preocupar se o computador estragou ou se perdeu algum arquivo, pois com o sistema poderá facilmente reavê-los.

Leia também: O que são Sistemas Embarcados

Atualmente existem no mercado diversos tipos de Sistemas de Controle de Versão, como por exemplo o SVN ou Subversion, o Mercurial, o Microsoft Visual Studio Team Foundation Server e o Git, que vem se popularizando.

Então, o que é Git?

Como já dito, Git é um dos vários Sistemas de Controle de Versão de arquivos. Através dele é possível desenvolver projetos na qual diversas pessoas podem contribuir simultaneamente no mesmo, editando e criando novos arquivos e permitindo que os mesmos possam existir sem o risco de suas alterações serem sobrescritas. Umas das principais aplicações do Git é justamente esta, permitir que um arquivo possa ser editado ao mesmo tempo por pessoas diferentes.

Quem utiliza o Git tem ainda a possibilidade de criar a qualquer instante vários snapshots ou branchs. Para entender melhor o que é isso, vamos a um exemplo prático: Digamos que você esteja desenvolvendo um projeto e queira fazer alterações nele, no entanto não quer que ninguém mais saiba, enquanto as ideias ainda não forem oficiais. Neste caso você pode criar um branch (como se fosse uma cópia do seu arquivo) e vai trabalhando neste espelho até acertar todos os detalhes. Após isso é só fazer um merge de volta do seu branch até o projeto original.

E o GitHub?

O GitHub é uma espécie de rede social para desenvolvedores e programadores. Ele possui diversas funcionalidades, como feeds, followers (que seriam seus amigos), wiki e um gráfico que mostra como os desenvolvedores estão contribuindo trabalhando nas versões de seus repositórios. Este serviço web oferece diversas funcionalidades extras aplicadas ao Git, de forma gratuita, mas também existem planos comerciais para projetos de código privados. O GitHub permite que você hospede seus projetos pessoais em nuvem. Além disso, quase todos os projetos/frameworks/bibliotecas sobre desenvolvimento open source estão no GitHub, e você pode acompanhá-los através de novas versões, contribuir informando bugs ou até mesmo enviando código e correções.

Para você começar a trabalhar com o Git, você deve instalar um software em seu computador, que é um próprio sistema de controle de versão. Para instalar, clique aqui. Na página inicial faça o dowload de acordo com o seu sistema operacional. E pronto, ele já estará instalado no seu computador.

Agora vamos ao GitHub. Para este serviço não é necessário instalar nenhum software, basta criar uma conta, clicando aqui. Vá em Sing up, coloque seus dados como nome de usuário, e-mail e senha. O segundo passo será escolher o seu tipo de plano, se será gratuito ou terá um valor mensal e pronto, você já estará cadastrado.



Como funciona?

Agora que você já tem um cadastro é hora de começar a trabalhar. Clicando no botão verde "Vamos Começar", você obtém várias dicas de como usar o GitHub. Para criar um repositório vá no canto direito, ao lado do seu nome de usuário e clique no botão verde "+Novo Repositório". Na página que abrirá em seguida, digite o nome de seu repositório. Faça uma breve descrição. Selecione "Inicializar este repositório com um Readme". E então clique em "Criar Repositório". Repositórios são utilizados para organizar um único projeto. Eles podem conter pastas e arquivos, imagens, vídeos, planilhas e conjuntos de dados - qualquer coisa que seu projeto precisa. É recomendado incluir um README, ou um arquivo com informações sobre o seu projeto.

A partir do momento que você cria um repositório ele ficará disponível no endereço: https://github.com/username/name, onde username é o login que você usou para se cadastrar e name é o nome que você atribuiu ao repositório. Ao acessar esta url a tela principal de seu projeto abrirá. Nela estarão diversas informações, onde será possível atribuir diversas tarefas, como por exemplo, "Clonar", seu projeto para que novas ideias sejam implementadas.

Colocando um de seus projetos no GitHub em modo público, as pessoas que também possuem o GitHub terão acesso a este projeto. Se alguém achar a ideia interessante e quiser implementar poderá ir lá no seu repositório e "copiar os arquivos", inserindo novos dados. Em seguida ele lhe dará um pull request, sendo que você poderá analisar e atualizar o seu projeto com as contribuições daquela pessoa. Desta mesma forma você pode adicionar contribuições nos projetos de outros usuários. É importante ressaltar que se seu repositório estiver em modo público, qualquer pessoa poderá baixar um de seus projetos. No entanto eles não poderão alterar os seus arquivos, exceto se você permitir.

Curiosidades

Um dos primeiros utilizadores do GitHub foi Linus Trovalds, onde ele estava desenvolvendo o kernel do Linux e precisava de um repositório confiável, rápido e cooperativo, para que o kernel ficasse pronto mais rápido.

Muitas empresas de tecnologia hoje em dia procuram suas informações pelo seu GitHub ao invés de analisarem seu currículo. Então, não perca mais tempo, faça já a sua conta no GitHub e compartilhe seus projetos pessoais, troque ideias e aprenda ainda mais!