Controle de versão integrado ao ambiente R
Esta aula foi construída para mostrar que o R vai muito além da análise estatística. Ele se conecta, ele escala, ele vai para produção.
Essa é a Meguy, minha gatinha linda e a mascote do Café com R.
Inscreva-se já no Link.
Módulo 1 - Fundamentos
Git e o que é GitHubMódulo 2 - Instalação e Configuração
GitGitHubMódulo 3 - Compartilhando e Versionando Projetos
Módulo 4 - Fluxo de Trabalho com Git no RStudio
Para quem está construindo carreira em ciência de dados, estatística ou áreas correlatas, manter projetos bem organizados e versionados no GitHub é hoje um diferencial concreto em processos seletivos, pois permite que recrutadores e gestores avaliem não apenas o resultado final, mas a qualidade do processo que o gerou.
Git é um sistema de controle de versão desenvolvido originalmente para permitir que equipes de desenvolvimento trabalhassem de forma colaborativa em grandes projetos de software.
Sua principal função é gerenciar a evolução de um conjunto de arquivos - chamado de repositório - de forma organizada e segura.
Para fins didáticos, o Git pode ser comparado ao recurso de “controlar alterações” de editores como o Microsoft Word, porém com funcionalidades significativamente mais avançadas.
Na ciência de dados, o Git gerencia não apenas código-fonte, mas também bases de dados, documentos, relatórios e scripts - com rastreabilidade completa de cada mudança.
Os verdadeiros ganhos surgem na colaboração em equipe: o Git reduz a complexidade da comunicação entre membros, tornando o processo mais fluido e integrado ao cotidiano de análise.
Plataformas como GitHub, GitLab e Bitbucket atuam como serviços de hospedagem para projetos baseados em Git.
Elas permitem armazenar repositórios remotamente, compartilhar projetos e colaborar em tempo real - como uma “nuvem inteligente” para projetos versionados.
Esses serviços oferecem interfaces amigáveis, facilitando o uso do Git mesmo para usuários menos experientes.
Diferentes membros da equipe podem sincronizar alterações e propor melhorias com segurança e rastreabilidade.
Mesmo em projetos individuais, a hospedagem remota é recomendada: em caso de conflito ou erro local, a cópia remota permite restaurar versões estáveis rapidamente.
O foco deste material será o uso do GitHub, por ser a plataforma mais popular e amplamente suportada. Os conceitos apresentados também se aplicam ao GitLab, Bitbucket e soluções similares.
A distinção entre repositórios públicos e privados pode ser ajustada conforme a necessidade. O GitHub permite a criação de repositórios privados gratuitamente.
O uso combinado proporciona acesso facilitado ao código e maior colaboração. Projetos no GitHub podem ser explorados publicamente, clonados ou baixados - qualquer pessoa pode visualizar os arquivos diretamente pela interface web, sem conhecimento prévio em Git.
Usuários mais experientes podem acompanhar o desenvolvimento de projetos, propor melhorias por meio de forks e pull requests, e participar ativamente da evolução de pacotes e análises.
Note
**“A colaboração é a razão mais convincente para gerenciar um projeto com Git e GitHub.** Minha definição de colaboração inclui a participação prática de várias pessoas, incluindo o seu ‘eu’ do passado e do futuro.”
Jenny Bryan
Mantenha seus softwares atualizados.
Utilizar versões desatualizadas pode gerar dificuldades evitáveis, especialmente na integração entre R, RStudio, Git e GitHub.
Caso os softwares ainda não tenham sido instalados, siga os procedimentos descritos no Módulo de Instalação do R e do RStudio.
O processo é simples e gratuito. Acesse https://github.com e clique em Sign up.
O GitHub solicitará nome de usuário, e-mail e senha. Após o registro, é possível criar repositórios públicos e privados imediatamente.
Recomendado:
O que evitar:
admin, user, null, naO nome de usuário é sua identidade pública no GitHub. Uma vez escolhido, alterá-lo pode gerar inconsistências em links e referências.
Você precisa do Git instalado para que o RStudio possa utilizá-lo. Caso já esteja instalado, considere atualizar para uma versão recente.
Acesse https://git-scm.com/downloads, escolha o sistema operacional e realize o download.
Windows: execute o instalador baixado com as opções padrão.
macOS:
Linux (Ubuntu/Debian):
A configuração precisa ser feita uma única vez por computador. Use o pacote {usethis} para definir as informações globais:
# usethis::use_git_config(
# user.name = "seu_nome_de_usuario",
# user.email = "seu_email@exemplo.com")Caution
O e-mail deve ser obrigatoriamente o mesmo cadastrado na conta GitHub.
Para que os comandos do R acessem sua conta no GitHub, é necessário criar um Personal Access Token (PAT).
Após logar no GitHub, acesse:
Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate new token
Descreva o uso do token, selecione os escopos necessários, gere e copie a sequência de caracteres gerada.
Acesse o menu da sua foto na lateral direita e selecione Settings.
No menu lateral esquerdo, ao final, selecione Developer settings.
Selecione Personal access tokens > Tokens (classic) e, no menu superior direito, Generate new token (classic).
Selecione Personal access tokens > Tokens (classic) e, no menu superior direito, Generate new token (classic).
Personalize com o nome do token e marque as opções necessárias (mínimo: repo e workflow).
Clique em Generate token. O token será exibido apenas uma vez - copie-o imediatamente.


Com o token copiado, retorne ao RStudio para registrá-lo.
Opção automática - gera e abre a página do GitHub diretamente:
Registrando manualmente - abre o arquivo .Renviron:
.Renviron: arquivo que guarda informações sensíveis como tokens, senhas e chaves de API - fora do código versionado.
No arquivo .Renviron que se abrir, adicione a linha abaixo, pule uma linha e salve.
GITHUB_PAT=COLE_SEU_TOKEN_AQUI
Salve o arquivo e reinicie o RStudio com CTRL + SHIFT + F10.
Após esse passo, nenhuma outra configuração de autenticação será necessária neste computador.
Existem três formas de conectar RStudio e GitHub:
Método 1 - Criar um repositório no GitHub e clonar no RStudio
Método 2 - Clonar um repositório existente do GitHub no RStudio
Método 3 - Criar um repositório novo diretamente do RStudio
Antes de clonar um repositório no RStudio, é necessário que ele exista no GitHub.
Passo 1: Acesse https://github.com e faça login.
Passo 2: Clique no botão “+” no canto superior direito e selecione “New repository”.
| Campo | Descrição |
|---|---|
| Repository name | Nome curto e claro (ex: meu_projeto) |
| Description | Breve descrição do propósito do projeto |
| Visibility | Public (qualquer um pode ver) ou Private |
| Campo | Descrição |
|---|---|
| Add a README file | Marque para iniciar com um arquivo base |
| .gitignore | Pode ser deixado desmarcado neste momento |
| Choose a license | Pode ser adicionado posteriormente |
Preencha os campos e clique em “Create repository”.
Este método é utilizado quando o repositório já existe no GitHub e você deseja trabalhar com ele localmente no RStudio.
Passo 1: Acesse o repositório no GitHub.
Passo 2: Clique em “<> Code” e copie o link HTTPS.
No RStudio: File > New Project > Version Control
Na aba “Create Project from Version Control”, selecione Git.
Na aba “Clone Git Repository”:
O RStudio clona o repositório e cria um .Rproj automaticamente.
Ideal para iniciar um novo projeto em R com controle de versão desde o início e publicá-lo no GitHub.
No RStudio: File > New Project > New Directory > New Project
Nomeie o projeto, escolha o local e marque “Create a git repository”.
Com o projeto aberto, ative o Git com o pacote {usethis}:
Em seguida, publique o projeto diretamente no GitHub:
O repositório é criado automaticamente e fica disponível no GitHub.
O RStudio oferece uma interface gráfica integrada ao Git que facilita o versionamento de arquivos sem o uso do terminal.
Essa funcionalidade pode ser ativada em projetos existentes por meio do caminho:
Tools > Project Options > Git/SVN
Enable version control interface for RStudio projects
Sign git commits
Git executable
C:/Program Files/Git/bin/git.exe). Se estiver vazio, clique em Browse e localize manualmente.SSH key
.Renviron para autenticar com o GitHub.Após ativar o Git, o painel aparece no canto superior direito do RStudio.
| Elemento | Função |
|---|---|
| Staged | Checkbox para selecionar arquivos para o commit |
| Status | M (modificado), A (adicionado), D (deletado), ? (não rastreado) |
| Diff | Visualiza as alterações linha por linha |
| Elemento | Função |
|---|---|
| Commit | Abre a janela para registrar o commit |
| Pull | Baixa commits do repositório remoto |
| Push | Envia commits para o GitHub |
| Elemento | Função |
|---|---|
| History | Exibe o histórico visual de commits |
| Branch | Lista e permite criar branches |
| More | Opções avançadas e acesso ao terminal Git |
Um commit é como tirar uma fotografia do estado atual do projeto. Ele registra uma versão dos arquivos naquele momento, com uma mensagem descritiva que explica o que foi feito.
O push envia os commits locais para o repositório remoto no GitHub.
Commit salva localmente. Push envia ao GitHub.
O pull baixa as alterações do repositório remoto para a máquina local.
Pense no pull como: quero as atualizações do meu time antes de começar a editar.
Antes de fazer um commit, os arquivos precisam ser adicionados à staging area (área de preparação).
Um repositório é o local onde o histórico completo do projeto é armazenado, incluindo todos os commits, arquivos e ramificações.
Uma branch (ramificação) permite trabalhar em uma nova funcionalidade ou correção sem afetar o código principal.
main ou mastermain por meio de um mergeApós criar o projeto com Git ativo, vá até a aba Git no RStudio. Você verá os arquivos com o símbolo ? (untracked), indicando que ainda não estão versionados.
Marque o checkbox ao lado dos arquivos que deseja incluir - isso é chamado de adicionar ao stage.
Clique em Diff para comparar o conteúdo atual dos arquivos com o que está salvo. Linhas em verde foram adicionadas; linhas em vermelho foram removidas.
Clique em Commit. Uma nova janela será aberta. No campo de mensagem, insira um texto descritivo sobre o que foi feito.
Clique em Commit para confirmar. Uma janela de log será exibida indicando que o commit foi realizado com sucesso.
Clique em Push (seta para cima) para enviar as alterações ao repositório no GitHub.
Abra o repositório no GitHub e confira as alterações. O arquivo enviado aparecerá com a mensagem de commit registrada.
Mensagens corretas:
Adiciona função de limpeza de dados ausentes
Corrige bug no cálculo de média ponderada
Refatora script de visualização por região
Mensagens incorretas:
Update
Correções
asdf
Mudanças
tipo: descrição curta (até 50 caracteres)
Descrição detalhada do que foi feito e por que.
Pode conter múltiplas linhas quando necessário.
Tipos comuns: feat (nova funcionalidade), fix (correção), docs (documentação), refactor (refatoração), test (testes)
O .gitignore define quais arquivos o Git deve ignorar. O RStudio cria automaticamente com padrões R:
.Rproj.user
.Rhistory
.RData
.Ruserdata
Adicione conforme a necessidade do projeto:
# Dados sensíveis
dados_privados/
.Renviron
# Arquivos grandes
*.zip
*.rds
# Outputs gerados automaticamente
outputs/
figures/
Nunca inclua no repositório:
.Renviron com credenciais.pem, .key)# ERRADO: credencial exposta no código
api_key <- "abc123xyz456"
# CORRETO: credencial em variável de ambiente
api_key <- Sys.getenv("API_KEY")Armazene no .Renviron (nunca versionado):
API_KEY=abc123xyz456
GITHUB_PAT=ghp_seu_token_aqui
| Erro | Causa | Solução |
|---|---|---|
Permission denied |
PAT não configurado | usethis::edit_r_environ() |
Updates were rejected |
Repositório remoto à frente do local | git pull antes do push |
Nothing to commit |
Arquivos não adicionados ao staging | Marcar checkbox na aba Git |
| Erro | Causa | Solução |
|---|---|---|
Detached HEAD |
Checkout em commit específico | Voltar para main no dropdown |
Merge conflict |
Duas alterações na mesma linha | Resolver manualmente no editor |
Repository not found |
URL incorreta ou sem acesso | Verificar URL e permissões |
Antes de começar:
File > Open Project)Durante o trabalho:
Ao encerrar:
Inscreva-se já no Link.

Jennifer Lopes | Café com R| Git e GitHub no RStudio