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.
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!
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”.
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:
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 😉
Muito interessante,
vou começar a fazer testes para ver se atende minha necessidade aqui
parabéns
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!
Opa,
Bem interessante.
Você conhece o github.com?
Cliff, obrigado pelo interesse. Tomara que esta solução te ajude!
Obrigado Eulino, e volte sempre!
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.
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 🙂
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 😛
Pensando bem, esta pode ser uma abordagem interessante. Eu escrevi um post no meu blog citando a técnica e como você pode fazer para ter um pouco mais de segurança: http://herberthamaral.com/2010/08/utilizando-o-dropbox-para-hospedar-seus-repositorios-git-de-forma-segura/
See ya!
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
@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.
@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.
@Guilherme Welter,
o tutorial deve funcionar, pois uso esta solução já há alguns dias. Qual problema você teve? Quem sabe possamos ajudar.