Pular para o conteúdo

Usando Dropbox ou Mídias Removíveis como um Repositório Git

Desde quando ingressei no mestrado estive atrás de um repositório particular de código que pudesse utilizar para alguns projetos. Antigamente eu nem ligava para este tipo de gerenciamento sobre meus programas e arquivos: mas depois que trabalhei um tempo na Infoway, vi o quanto este tipo de ferramenta é interessante.
Como não consegui encontrar um repositório barato (e também não consegui convencer o pessoal da parte técnica do laboratório a instalar um), fui atrás de alternativas que suprissem essa necessidade. 

Foi quando encontrei vários tutoriais que ensinavam como usar o Git no Dropbox. Dropbox, para quem não sabe, é um serviço de armazenamento de arquivos na nuvem: você se cadastra, baixa o software (compatível com os principais sistemas operacionais) e tem a disposição um espaço de 2 GB gratuitos (expansíveis em serviços pagos) para sincronizar seus dados.

Legal também é a forma como se dá essa sincronização: o Dropbox cria uma pasta nos seus documentos (chamada “Dropbox”) e, sempre que você inicializa o serviço, ele sincroniza todos os dados que estão nessa pasta com a nuvem, de forma simples e transparente.

Já o Git é um software para controle de versão primeiramente desenvolvido por Linus Torvalds para dar conta do gerenciamento do desenvolvimento do Linux. O Git tem uma arquitetura distribuída, que o difere dos mais comuns versionadores CVS e SVN. O Git já cresceu bastante em importância, e hoje vários grandes projetos de software livre o utilizam como padrão, como o próprio Linux, Gnome e Qt, ou estão migrando para ele, como o KDE

Esta arquitetura distribuída é que permite utilizar o Dropbox, por exemplo, como um repositório Git. Cada diretório de trabalho Git é um repositório com todos os históricos e habilidade total de controle das revisões, não dependente de acesso a uma rede ou a um servidor central.

Ou seja – essa característica do Git permite utilizar até um pen drive como seu repositório ambulante de código!

Seu repositório Git no bolso

Então, as dicas para uso do Dropbox como repositório Git também podem ser aplicadas para usar qualquer mídia removível como repositório.

Mão na massa

Abra um terminal e vá crie um diretório para seu projeto; ou vá a algum projeto existente. No nosso exemplo, vamos criar um pasta para nosso projeto chamada… “projeto”.

mkdir ~/projeto 

Agora entre na pasta e inicie um repositório Git com o comando 

git init 

 

Em seguida, crie uma pasta para seu projeto no Dropbox. 

mkdir ~/Dropbox/projeto 

 

Ainda na pasta que você criou para o projeto, onde você iniciou um repositório Git, dê o seguinte comando: 

git clone –bare . ~/Dropbox/projeto/projeto.git 

(A opção bare são dois hífens. Maldito editor de texto! ;))
Com este comando, você estará clonando seu repositório local na pasta do seu projeto no Dropbox. Pronto, agora você já tem um repositório criado! 

Falta configurarmos agora para onde seu repositório local irá referenciar os push’s e pull’s do Git. Digite:

git remote add origin ~/Dropbox/projeto/projeto.git 

 

Pronto! Tudo feito! 

Agora, sempre que você executar o Dropbox ele irá sincronizar os arquivos que estão na pasta, inclusive os que fazem o repositório Git. Assim, em outro computador, você poderá baixá-los em um repositório Git local!

Como o Dropbox também permite que você compartilhe arquivos com outros usuários, você também poderá compartilhar a pasta do seu repositório e ter, de fato, um repositório Git privado para times de desenvolvimento! Legal heim?


Obs. 1: Utilizar as nuvens pode trazer algumas consequencias não tão interessantes – já dizia Stallman. Então, utilize estes serviços por sua conta e risco;

Obs. 2: Como já está referenciado no texto, estas dicas também serve para você usar qualquer midia removível com permissãde escrita e leitura (pen drive, HD externo, celular com entrada USB, disquete) como repositório Git. Os comandos são os mesmos!;

Obs. 3: Meu repositório Git público está no Gitorious. Interessado? http://gitorious.org/~filipesaraiva 😉

13 comentários em “Usando Dropbox ou Mídias Removíveis como um Repositório Git”

  1. Felipe, muito bom isso.
    já tinha pensado em procurar por algo semelhante, mas na correria nem busquei por nada.

    E hoje, me deparo com seu texto muito bom mesmo.
    Parabéns!

  2. Blabos, eu conheço o github. Meu repositório está em
    github.org/~filipesaraiva

    Entretanto eu não o uso, fiquei no gitorious – apesar da ideia de rede social do github ser muito boa e dele ter mais funcionalidades que o gitorious.

  3. Cara,

    uma coisinha que talvez você precise corrigir ai no post:

    inves de git remote add origen ~/Dropbox/projeto/projeto.git

    seria
    git remote add origin ~/Dropbox/projeto/projeto.git

    só para o caso de alguém quiser copiar e colar os comandos sem conhecer um pouco mais de git 🙂

  4. Interessante, pode ser uma solução para equipes pequenas… eu não consigo deixar de imaginar os conflitos que podem dar quando mais de uma pessoa comita ao mesmo tempo 😛

  5. guilherme sausen welter

    Muito interessante Filipe, era justamente o que eu precisava. Alguém conseguiu fazer funcionar ? Tentei seguindo estes passos e outros que encontrei na rede. Sempre dá o mesmo tipo de erro.
    Para os que tiveram sucesso eu deixo uma sugestão: Criptografar os arquivos e pastas compartilhados.
    Abraços

  6. @Bruno Azisaka

    Obrigado pela observação. Apesar de com "origen" funcionar do mesmo jeito, alterei para "origin" para ficar no padrão dos demais tutorias de git espalhados pela rede.

  7. @Herberth Amaral

    Realmente, a ideia de um sistema controlador de versão distribuído é para dar melhor performance aos trabalhos de grandes times – como é no caso do Linux e outros softwares livres com grandes equipes de desenvolvimento.

    E obrigado por citar este post no seu blog, no meu próximo tutorial sobre git falarei do seu post.

  8. @Guilherme Welter,

    o tutorial deve funcionar, pois uso esta solução já há alguns dias. Qual problema você teve? Quem sabe possamos ajudar.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *