Git e github no windows

December 20, 2009 · Posted in Git, Programação 

O git é uma ferramenta open source para controle de versão de arquivos. Sua arquitetura distribuída permite que você seja mais produtivo pois não necessita de um servidor central para receber commits.

O CVS foi o primeiro sistema de controle de versão com o qual trabalhei. Não sei se era pela minha inexperiência, mas ele sempre foi mais uma pedra no sapato que uma ferramenta de trabalho.

Quando conheci o Subversion fiquei espantado:

“Nossa! É possível tirar um snapshot do repositório inteiro. Uau!”

A parte chata era que ainda como o CVS, precisava de um servidor para onde mandar os meus commits. Assim quando eu estava sem conexão ou sem servidor, simplesmente não era possível fazer os commits, a menos é claro que eu mantivesse uma cópia do reositório na sua máquina e gerenciasse toda essa bagunça.

Quando ouvi falar do git, não fiquei muito entusiasmado, mas depois do primeiro uso:

“Caceta, eu não preciso de um servidor pra enviar commits!”

Eu não vou entrar das funcionalidades do git aqui, até porque esse não é o objetivo do post. Para quem quiser estudar o git há farta documentação na internet e no site do git e há um livro bem legal disponível sob Creative Commons chamado Pro Git.

Há alguns meses eu também conheci o github, um site source-forge-like onde você pode hospedar seus projetos versionados com git, interagir com outros desenvolvedores e muito mais.

Para quem vive no mundo unix, trabalhar com o github é trivial. É so cadastrar um usuário, gerar uma chave SSH e começar a postar código.

Agora se você compartilha da triste sina dos pouco afortunados que ainda não se libertaram do windows, utilizar o github é … trivial também!

Para tanto é necessário que se instale o Cygwin. O Cygwin é uma ferramenta bem bacana que automatiza a instalação de aplicativos tipicamente unix no windows.

O processo de instalação é bem simples. Baixe o Cygwin direto do seu site e execute com um duplo clique (duh!!!).

Instalação do Cygwin - Tela inicial

Há várias opções de personalização. Eu utilizei as opções default, até chegar na tela onde se configura qual o repositório de onde o instalador vai baixar os pacotes. Aqui uma ressalva: alguns repositórios são mais rápidos que outros. Faça seus testes. Eu utilizei o http://cygwin.cibermirror.org.

Instalação do Cygwin - Mirrors

Depois na tela de seleção de pacotes, vá na aba Devel e selecione os pacotes do git.

Instalação do Cygwin - Git

Na aba Net, selecione os pacotes do openssh.

Instalação do Cygwin - Open SSH

Next, next, finish.

Instalação do Cygwin - Finish Him!

A partir daqui, supondo que você já tenha um usuário cadastrado no github, falta configurar as chaves de acesso. As chaves são mecanismos de segurança utilizadas pelo servidor para que ele tenha certeza que você é você mesmo. Se você ainda não tem um usuário cadastrado no github, cadastre-se for free.

Para criar a chave basta seguir os passos do tutorial que tem no próprio github e gerar a chave. Vá em Account Settings e depois em SSH Public Keys. Há um link pequeno Need help with public keys?. O tutorial está um pouco desatualizado em relação às telas que ele mostra, mas ainda está completamente funcional.

Resumindo, abra o terminal do Cygwin que você acabou de instalar, digite ssh-keygen -t rsa -C “seu_email@vai_aqui.com”, conforme mostra a figura, substituindo seu_email@vai_aqui.com pelo seu email, naturalmente, responda às perguntas e digite uma senha. Essa senha pode ser uma frase longa (recomendado) ou pode ser vazia. Ela será requisitada toda vez que você for sincronizar dados com o github.

Você precisa agora enviar para o github a chave pública. Para isso abra o arquivo da chave pública – normalmente .ssh/id_rsa.pub – com o notepad, copie o texto e cole no formulário do github. Mas preste atenção, você precisa envia a chave pública. Há um .pub no final do arquivo. A chave privada – sem o .pub no final – não deve nunca se posta em público.

Pronto agora você é capaz de enviar código para a sua conta no github.

Atente para o detalhe que nos seus projetos há uma url pública e uma url somente sua.

E bom social coding para você também.

Comments

Leave a Reply




Powered by WP Hashcash