Olá Pessoal!

Recentemente precisei migrar alguns projetos que utilizavam SVN para o Git e resolvi fazer um post falando um pouquinho sobre o Git e seu amigão GitHub. Então vamos lá!

Git

Hoje dificilmente um projeto não possui um controle de versão. Se o seu projeto de produção não possui um controle de versão, de verdade, corra para criar um! Sobreviver sem um controle é realmente assustador, digno de um herói, ainda mais com equipes grandes e distribuídas.

Durante muito tempo foi usado o CVS e, em seguida, o SVN veio para corrigir algumas falhas do CVS e adicionar interessantes funcionalidades. Diversos são os motivos para a adoção do Git:

  • - Branches facilitados e independentes
  • - Merges facilitados (quem já usou CVS sabe o quão sofrível é realizar merges)
  • - Mais rápido
  • - Distribuído
  • - Pode ocupar menos espaço que um checkout SVN
  • - Integração com o GitHub

Não entrarei em detalhes sobre estes pontos pois renderiam diversos outros artigos, mas entraremos em detalhes sobre a sua instalação logo mais.

GitHub

O GitHub é a rede para programadores. Nele podemos criar repositórios (públicos e privados) para os nossos projetos, seguir outros desenvolvedores, baixar projetos, modificar projetos, receber atualizações de modificações de projetos, etc.

Diversos projetos grandes já estão no GitHub e você já pode até dar uma olhadinha no código fonte deles! Dentre os projetos encontramos o JQuery, Eclipse, VRaptor, Twitter e muito mais! Abaixo listei alguns repositórios:


E qual a relação do Git com o GitHub?

A relação é simples: os dois se integram de forma bem simples! Podemos criar um repositório no GitHub e simplesmente "commitar" as alterações do nosso projeto git, tornando-o público!

Como exemplo vamos criar um pequeno projeto e torná-lo público no GitHub, utilizando o Git.

Instalando o Git

Como o meu dia a dia é desenvolvendo com Linux (Ubuntu), faremos a instalação neste ambiente. Vamos lá:

Para a instalação basta abrirmos o terminal e digitar:

sudo apt-get install git-core

Ele mostrará o espaço necessário para a instalação e mostrará quais os pacotes que serão instalados. Basta confirmar que todos os pacotes serão baixados e instalados.

Pronto! Nosso Git está instalado. Agora vamos configurá-lo. Nesta etapa você indicará o seu Nome e o seu Email. Ainda no Terminal digite:

git config --global user.name "Seu nome aqui" git 
config --global user.email "seuemail@seudominio.com"

Para verificar se deu tudo certo basta digitar no Terminal:

git config --global --list

Assim serão listadas as configurações recém criadas.

Agora vamos criar um repositório lá no GitHub. Entre no GitHub, entre no seu perfil e clique em New Repository, colocando o nome do seu projeto, no nosso caso "my-first-project-git". O projeto criado será público mas é possível criar repositórios privados.

Com o nosso repositório criado no GitHub vamos criar o nosso projeto agora localmente. No Terminal vamos criar um diretório para o nosso projeto e iniciar o repositório do Git:

mkdir my-first-project-git cd 
my-first-project-git git init

Agora vamos criar um arquivo Readme e adicionar um repositório ao git. Repare que o origin é apenas um apelido para o nosso projeto.


git remote add origin 
git@github.com:seuloginnogithub/my-first-project-git.git 
touch  README

Tudo certo até aqui. Criamos o nosso projeto no GitHub, criamos o nosso projeto localmente com o Git e agora vamos subir o nosso projeto para o GitHub. Mas antes de subirmos o projeto, precisamos gerar uma chave ssh. Podemos gerar uma chave com o seguinte comando no Terminal:

ssh-keygen -t rsa -C "seu comentario"

Ele mostrará o diretório onde será salva a nossa chave e você também informará uma senha. Pronto! Chave criada! Agora precisamos acessar a nossa conta no GitHub, clicar em SSH Keys e inserir o conteúdo exato que foi gerado na chave. Para pegar o conteúdo basta digitar o seguinte comando:

cat ~/.ssh/id_rsa.pub

Desta forma já podemos acessar o nosso GitHub!

Para adicionar o nosso arquivo Readme e "comitá-lo" basta digitarmos os seguintes comandos:

git add README git commit -m "aqui vai seu comentario"

Repare que neste momento fizemos o commit localmente mas ainda não enviamos para o GitHub. Para enviar basta digitar o seguinte comando:

git push -u origin master

Pronto! Agora você pode acessar o seu GitHub e ver o projeto que acabamos de criar. Simples, prático e divertido!

No próximo artigo avançaremos sobre os comandos mais utilizados pelo Git e como podemos modificar projetos já existentes no GitHub.

Não poderei disponibilizar os projetos privados mas disponibilizarei alguns outros projetos públicos no meu GitHub para podermos compartilhar conhecimento e experiência. Podem seguir =)

Até mais!

Alexandre Gama

http://alexandregama.wordpress.com/

https://twitter.com/alexandregamma

http://github.com/alexandregama