Usando o github para hospedar códigos R

Versionamento de arquivos é uma prática comum entre desenvolvedores de software, e a prática não é difícil de entender. Uma vez que existe uma equipe com muitas pessoas trabalhando em um mesmo projeto, necessita-se de algum tipo de sistema de gerenciamento de arquivos para checar as modificações de uma forma minimamente esperta, caso contrário seria uma verdadeira desordem duas pessoas trabalhem em cima de um mesmo arquivo.

Pode-se argumentar que não é necessária a utilização de uma ferramente de versionamento de arquivos uma vez que podemos utilizar o Dropbox, por exemplo. Porém na maioria dos casos esta prática não é nem um pouco recomendada, em especial pelo fato de não armazenar um histórico de versões/modificações e a impossibilidade de alterações simultâneas em um mesmo arquivo. Neste sentido surgem os denominados sistemas de versionamento de arquivos. E existem muitos deles, cada um com seus pontos positivos e negativo. Como algumas opções podemos citar o CVSSVN e o Git.

Git é um sistema de versão baseado na ideia de que em cada instante de tempo que você faz um contribuição, você tem um snapshot dos seus arquivos, e no próximo snapshot, você não terá arquivos novos, mas sim modificações dos arquivos já existentes. E isso faz com que a ferramenta seja extremamente eficiente, computacionalmente falando. Para usarmos o Git, precisamos de algum serviço de hospedagem, e neste caso, utilizaremos o Github. E o primeiro passo é criar uma conta, o segundo é baixar alguma versão que satisfaça seu sistema operacional.



Conta criada e instalado o software Git, temos que criar um repositório que vai hospedar os arquivos do projeto, que no meu caso são códigos em R e arquivos txt. Então basta clicar em create repositories no Github que você será encaminhado a uma página onde terá que inserir um nome do repositório.

Criando um repositório Git
Basta clicar em create repository e pronto, seu repositório está criado. Agora vamos navegar até a pasta onde desejamos inicializar o Git, isto é, o local onde encontram-se os arquivos que desejamos inserir no repositório e executar o seguinte comando - usuários windows podem fazer isso com o programa git bash. Para acessar a pasta basta digitar cd 'caminho da pasta'.

git init
git remote add origin https://github.com/djongs/topicmodelling_r.git

Apenas após feito isso, poderemos executar os comandos git nesta pasta - o primeiro comando - e enviar para o repositório criado no Github. É bom lembrar que isto é necessário ser feito apenas uma vez. Agora temos que adicionar os arquivos ao repositório. A imagem abaixo é uma screenshot da pasta em que estão os arquivos.

Screenshot da minha pasta onde encontram-se os arquivos



Agora vamos adicionar estes arquivos a fila de commits que serão enviados ao Github. Fazer um commit é enviar ao Git uma coleção de alterações que foram feitas no código.
git add README.md
git add funcoes_uteis.R
git add script.R
git add textos/
git commit
Após executado o git commit, irá aparecer uma tela com os arquivos que você irá enviar para o Github, e você deve inserir também um comentário sobre aquele commit que você está fazendo. E quando leva-se em consideração desenvolvimento ao longo do tempo, esta ferramenta realmente mostra sua utilidade, já que é possível ver todas as mudanças e os respectivos comentários sobre ela. Agora basta enviarmos as modificações para o Github.
git push
E pronto, com isso seu código estará disponível na página do seu projeto, e para modificações futuras, basta seguir o mesmo raciocínio. Se quiser clonar o repositório de alguém com todos os arquivos basta executar o seguinte comando.
git clone https://github.com/djongs/topicmodelling_r.git

E um último detalhe importante é quanto a atualização. Quando trabalha-se em conjunto com outras pessoas em um mesmo repositório, é normal que seus códigos locais fiquem diferente dos códigos que estão no repositório, então é necessário sincronizá-lo com os arquivos do github. Para isso, basta executar a linha abaixo.
git pull
Certamente o git é uma plataforma muito mais rica do que o que foi mencionado aqui, porém com estes poucos comandos básicos (git add, git commit, git pull, git push) é possível começar a utilizar a plataforma e ir aprendendo novas coisas gradualmente. Caso queira aprender de uma forma mais profunda, recomendaria dar uma olhada no trygit, que é uma plataforma de aprendizado interativa.

2 comentários:

  1. Bem legal!

    Eu me cadastrei no BitBucket pois é free enquanto o GitHub tem essa taxa mensal! =)
    Mas utilizarei este tut para aprender mais e tentar implementar lá também pois é basicamente o mesmo serviço (leigo falando)!

    Sucesso!

    ResponderExcluir
    Respostas
    1. Olá João.
      Na verdade a taxa só existe se você quiser repositórios fechados. Isto é um incentivo a utilização de códigos open source (do ponto de vista do github) e é ótimo para a comunidade. Então vamos liberar esses códigos pra galera usar ! :)

      Excluir