GitHub e RStudio

10 de fevereiro de 2018 // 6 min read

image

Este tutorial ensina como criar documentos R Markdown com o RStudio e publicá-los via GitHub usando o GitHub Pages.

O RStudio é um popular ambiente de desenvolvimento integrado para R. Ele integra as ferramentas usadas com R em um único ambiente. O GitHub Pages permite que você hospede sites diretamente de seu repositório GitHub.

Neste tutorial, você aprenderá a:

  • Criar um novo repositório.
  • Trabalhar com seu repositório na máquina local usando o Git e o RStudio.
  • Usar o site github.com ou o GitHub Enterprise para concluir o fluxo de trabalho do GitHub.
  • Publicar e compartilhar seus documentos R Markdown usando o GitHub Pages.

Pré-requisitos

Instalar o Git e o RStudio

Para este tutorial o Git e o RStudio serão usados para trabalhar com seu repositório GitHub.

  1. Faça o download e instale o Git.
  2. Faça o download e instale o RStudio. (1.1.383 ou superior).
  3. Abra o RStudio.

Crie o repositório remoto no GitHub

Agora que tem o que precisa instalado localmente, vamos criar o repositório que irá conter seu novo site.

  1. Em github.com, crie um novo repositório.

Observação: se sua organização usa o GitHub Enterprise, também é possível criar o repositório lá.

  1. Dê ao seu repositório o nome carros. É possível usar um nome diferente.
  2. Insira uma descrição para seu repositório.
  3. Selecione visibilidade Public.
  4. Selecione Initialize esse repositório com um README.
  5. Clique em Add .ignore e selecione R.
  6. Clique em Criar Repositório.

Clonar o repositório com RStudio

Depois de criar um repositório no GitHub (o repositório remoto), o próximo passo é cloná-lo em seu ambiente local.

  1. No GitHub, navegue até a aba Code do repositório.
  2. No lado direito da tela, clique em Clone or download.
  3. Clique no ícone Copy to clipboard à direita do URL do repositório.
  4. Abra o RStudio em seu ambiente local.
  5. Clique em File, New Project, Version Control, Git.
  6. Cole o URL do repositório e insira TAB para ir para o campo Project directory name.
  7. Clique em Create Project.

Criar um documento R Markdown no RStudio

Agora que já tem uma cópia local do repositório, vamos adicionar um documento R Markdown ao seu projeto.

  1. No RStudio clique em File, New File, R Markdown.
  2. Selecione HTML output como saída padrão.
  3. Clique em File, Save para salvar o documento.
  4. Insira speed-and-distance e clique em Save. rstudio-editor

Fazer commit e push das alterações para o GitHub

Depois de ter criado o documento R Markdown e terminado de realizar as alterações, é hora de fazer commit delas.

  1. No RStudio, clique na aba Git no painel superior direito.
  2. Clique em Commit.
  3. Na visualização Review changes, marque a caixa preparada para todos os arquivos.
  4. Adicione uma mensagem de efetuar commit, por exemplo Add initial speed and distance report.
  5. Clique em Commit.
  6. Clique no botão Pull para buscar quaisquer alterações remotas.
  7. Clique no botão Push para enviar suas alterações para o repositório remoto.
  8. No GitHub, navegue até a aba Code do repositório para ver as alterações.

Criar branches locais com Git

Vamos fazer mais algumas alterações em seu projeto usando os passos do GitHub Flow. Como o RStudio atualmente não suporta muito bem branches locais, iremos usar o Git na linha de comando do RStudio.

  1. No RStudio, clique na aba Terminal no painel inferior esquerdo. A aba Terminal fica ao lado da aba Console. rstudio-terminal

Observação: se não conseguir encontrar a aba Terminal, verifique se está usando a versão 1.1.383 ou superior do RStudio. Clique em Help, About RStudio para verificar a versão atual.

  1. Criar um novo branch. Substitua <BRANCH-NAME> por um nome descritivo, por exemplo speed-and-distance-report:

    git branch <BRANCH-NAME>
    
  2. Verifique o status de seu repositório:

    git status
    

    Observe que, embora você tenha criado um novo branch, ainda está em check-out para master, conforme indicado pela resposta em linha do Git.

  3. Check out seu novo branch:

    git checkout <BRANCH-NAME>
    
  4. Verifique se o check-out em seu novo branch já foi feito:

    git status
    

Fazer alterações locais com Git

Vamos gerar a HTML output em um diretório separado chamado docs. Para isso, adicionamos uma função no cabeçalho do documento R Markdown para 'knit' a output no diretório de saída desejado.

  1. No RStudio, abra speed-and-distance.Rmd e adicione as seguintes linhas no cabeçalho sob o campo title:
 knit: (function(input_file, encoding) {
    out_dir <- 'docs';
    rmarkdown::render(input_file,
      encoding=encoding,
      output_file=file.path(dirname(input_file), out_dir, 'index.html'))})
 
  1. Clique em File, Save para salvar as alterações.
  2. Clique em Knit no painel de documentos para speed-and-distance.Rmd.

Fazer commit das alterações locais com Git

Depois de criar a HTML output, é hora de fazer commit das alterações.

  1. Determine o status do seu arquivo. Lembre-se de que git status nos permite ver o status dos arquivos em nosso branch a qualquer momento. Seu arquivo está listado sob o título Untracked files:

    git status
    
  2. Adicione seu arquivo à área de preparação para que ele esteja pronto para se tornar parte do próximo commit:

    git add .
    
  3. Veja o status atual do seu arquivo. Seu arquivo agora está listado sob o título Changes to be committed. Isso nos diz que o arquivo está na área de preparação. Indica também que é um novo arquivo:

    git status
    
  4. Faça commit do arquivo. Substitua <COMMIT-MESSAGE> por uma mensagem de log descrevendo as alterações, por exemplo Knit output to a docs folder. Um commit diz ao Git para coletar todos os arquivos na área de preparação e armazená-los no controle de versão como uma única unidade de trabalho:

    git commit -m "<COMMIT-MESSAGE>"
    
  5. Veja o histórico de commits:

    git log --oneline
    
  6. Veja as alterações entre o branch master e o branch atual (HEAD):

    git diff --stat --summary master..<BRANCH-NAME>
    

Abrir uma pull request no GitHub

Agora que já fez alguns commits locais, é hora de enviar suas alterações para a cópia remota do seu repositório no GitHub e criar uma Pull Request.

  1. Efetue o push das alterações para o repositório remoto:

    git push -u origin <BRANCH-NAME>
    
  2. Crie uma Pull Request no GitHub.

  3. Preencha o corpo da pull request com informações sobre as alterações que estão sendo introduzidas.

Fazer o merge de sua pull request no GitHub

Como esse é o seu repositório, você provavelmente não tem ninguém com quem colaborar (ainda). Siga em frente e faça o merge de sua pull request agora.

  1. No GitHub, navegue até o Pull Request que você acabou de abrir.
  2. Role para baixo e clique no grande botão verde Merge Pull Request.
  3. Clique em Confirm Merge.
  4. Exclua o branch <BRANCH-NAME>.

Criar o site de páginas

Este tutorial usará o GitHub Pages para publicar a HTML output. Para inicializar o GitHub Pages, precisamos realizar mais alguns passos:

  1. No seu repositório, clique na aba Settings.
  2. Role para baixo até a seção GitHub Pages.
  3. Em Source, selecione master branch /docs folder. páginas-configuração
  4. Clique em Save para salvar as alterações.
  5. Clique no URL gerado do GitHub Pages para visualizar o documento R Markdown renderizado.

Observação: Os sites do GitHub Pages são sempre públicos quando hospedados em github.com. Se quiser compartilhar um site com um número selecionado de pessoas, você pode usar o​ Jekyll Auth. No GitHub Enterprise, os usuários precisam se autenticar para acessar os sites do GitHub Pages quando o modo privado está habilitado.

Atualizar o repositório local

Depois de fazer o merge de sua Pull Request, será preciso atualizar sua cópia local do repositório.

  1. No painel RStudio Terminal, digite:

    git checkout master
    
  2. Digite:

    git pull
    
  3. Exclua o branch local :

    git branch -D <BRANCH-NAME>
    
  4. Visualize o histórico de seus commits em um gráfico:

    git log --oneline --graph --all
    

Também é possível visualizar o histórico de seus commits no RStudio. Clique em Commit no painel Git para abrir o painel Review Changes e clique em History.

Adicionar página de boas-vindas, tema e navegação

Vamos adicionar uma página de boas-vindas, tema e navegação para permitir a publicação de uma coleção de documentos R Markdown.

  1. Primeiro crie um novo branch. Outra vez, substitua <BRANCH-NAME> por um nome descritivo, por exemplo add-theme-and-navbar:

    git checkout -b <BRANCH-NAME>
    
  2. Adicione um arquivo _site.yml com o seguinte conteúdo:

 name: "cars"
 output_dir: "docs"
 navbar:
 title: "Cars"
 left:
 - text: "Home"
 href: index.html
 - text: "Speed and Distance"
 href: speed-and-distance.html
 output:
 html_document:
 theme: cosmo
 
  1. Adicione um novo documento R Markdown index.Rmd. Essa é sua página de boas-vindas.

  2. Abra speed-and-distance.Rmd e remova os campos knit e output do título. O título agora ficará assim:

 ---
 title: "Speed and Distance"
 ---
 
  1. Salve as alterações.

  2. Abra o Console no painel inferior esquerdo e renderize o site usando o seguinte comando:

rmarkdown::render_site()
  1. Confirme as alterações locais com Git:
     git status
     git add .
     git commit -m "Add home page, navigation and theme"
     

Abra uma pull request

Agora que adicionou a página inicial e a navegação, é hora de enviar suas alterações para a cópia remota do seu repositório no GitHub e abrir uma nova pull request.

  1. Efetue o push das alterações para o repositório remoto:

    git push -u origin <BRANCH-NAME>
    
  2. Abra uma Pull Request no GitHub.

  3. Vá em frente e faça o merge de sua Pull Request.

  4. Veja seu site atualizado. O site deve ser semelhante a esta imagem.

    speed-and-distance
  5. Adicione o URL do GitHub Pages à descrição do repositório para que seja fácil encontrá-lo.

Se não conseguir se lembrar do URL do GitHub Pages, é possível acessar o URL na seção GitHub Pages na página de configurações.

Parabéns! 🎉

Você concluiu o fluxo de trabalho do GitHub com RStudio e adicionou um site do GitHub Pages ao seu projeto para publicar seus documentos R Markdown renderizados.

Links

  • O artigo R Markdown Websites no site R Markdown é um bom recurso para construir sites do GitHub Pages que hospedam coleções de documentos R Markdown.
  • Use o GitHub Desktop se preferir usar uma interface gráfica de usuário em vez de digitar comandos Git no terminal ao trabalhar com branches no RStudio.

Tags

Quer saber como o GitHub pode ajudar sua empresa?

Fale mais sobre suas necessidades

octocaptcha spinner