quinta-feira, 22 de outubro de 2009

Como ter um host privado de Git gratuitamente

Hoje vim aqui pra contar meio que um "truque" para repositórios online privados grátis com Git.

Pra quem não conhece, o Git é um DVCS (Distributed Version Control System), está fora do escopo desse post falar muito sobre ele, mas pra quem não conhece é uma ótima pedida ;)

Pra quem já conhece o git, é bem provavel que também conheça o github, que é uma rede social de código para git, se faz muito útil para projetos open-source, e você pode pagar por planos para ter repositórios privados. Mas também é fato que com o tempo você vai querer repositórios privados para alguns projetos (fazendo freelas por exemplo), e você não tem verba para arcar com os custos do repositório privado.

Bom, hoje eu venho apresentar uma solução meio gambiarral, mas que tem funcionado muito bem para mim :)

Para isso você vai precisar criar uma conta no dropbox, e instalar o mesmo na sua máquina. O Dropbox é um serviço de disco virtual muito legal, com conta free você começa com 2GB de espaço no servidor deles, que podem ser gratuitamente espandidos para 5GB (é só ir convidando seus amigos, a cada um que se registrar você ganha 250mb adicionais). O programa instala na sua maquina, e ele cria uma pasta especial, onde tudo que é jogado nessa pasta é automaticamente enviado para o servidor deles.

Então vamos começar, crie uma conta no Dropbox e instale o mesmo na sua máquina. Com ele instalado, apenas por questão de organização, crie uma pasta chamada git dentro do dropbox (esse passo é opcional), dentro dessa pasta iremos gravar nossos repositórios.

Vamos iniciar agora um novo repositório no seu pc, apenas para fins demonstrativos (faça isso fora da pasta do dropbox, em qualquer outro lugar do seu pc):


mkdir git_privado
cd git_privado
git init
touch README
git add README
git commit -m 'initial commit'


com isso temos um repositório bem simples iniciado na sua maquina, agora vamos para a pasta do dropbox dentro do seu pc, siga os seguintes passos:


cd git
mkdir git_privado.git
cd git_privado.git
git init --bare


Oque nós fizemos agora foi criar um repositório vazio dentro do dropbox, assim como qualquer outra coisa, o dropbox vai enviar automaticamente os arquivos para o seu servidor, também notem que o repositório foi criado com a opção "--bare", dessa forma ele inicia apenas os arquivos do repositório em si, sem a árvore de arquivos do projeto (é como ter apenas a pasta .git do repositório).

Estamos quase prontos, agora vamos configurar nosso repositório inicial para enviar as alterações para o Dropbox (navegue pelo command até a pasta do projeto criado na primeira etapa):


git remote add origin ~/Dropbox/git/git_privado.git
git push origin master


nota: onde eu coloquei "~/Dropbox/git/git_privado.git", mude para a pasta correta do dropbox de acordo com o seu sistema operacional.

Na primeira linha nós apontamos para o repositório remoto (que nesse caso está na pasta do dropbox), e depois nós enviamos as alterações para o mesmo. Com isso o dropbox já vai enviar as alterações automaticamente :)

Quando você estiver em outro PC, basta instalar o dropbox novamente, e dar um clone na pasta do repositório, assim você pode manter tudo sincronizado. E o mais legal é que no dropbox você pode compartilhar pastas, então quando você quizer autorizar alguem a mexer no repositório, basta pedir ao mesmo para criar uma conta no dropbox, e então você compartilha a pasta do repositório com ele, assim os dois (ou quantas pessoas você quizer) podem estar dando push para o repositório :)

É meio gambiarra, mas tem funcionado muito bem para os meus projetos, espero que sirva para alguns de vocês também ;)

Fuiii

7 comentários:

tmoreira2020 disse...

Tem um host para projetos privados em git e svn!
https://www.projectlocker.com/

Fica a dica!

Wilker Lúcio disse...

vlw Thiago, esse eu não conhecia, é bom que vamos acumulando os métodos ;)

o legal do "gambi dropbox" é que nao tem limite de usuarios, e o espaço também é maior, claro que ao mesmo tempo tb eh menos confiavel, mas é como eu disse, é bom que vai somando ;)

Neves disse...

Legal! Eu utilizava o DropBox mas não tive esta sacada antes. Isso é coisa que só brasileiro tem!
Valeu pela dica.

Rafael Carvalho disse...

boa! simples e rápido!

Unknown disse...

Olá, muito bom o post! Mas teria como fazer um aprofundando mais o uso dessa tecnica do dropbox para "equipes"?

Desde já, muito obrigado!

Jocimar disse...

Também existe o https://bitbucket.org/plans onde até 5 usuários é gratuíto.

Kepikus disse...

Genial! Eu aqui quase cedendo ahaha.. Me ajudou demais com sua idea, valeu mesmo!!! :P