Pular para o conteúdo principal

Tutorial de GitHub e Git para iniciantes

Um tutorial para iniciantes mostrando como o controle de versão do Git funciona e por que ele é essencial em projetos de ciência de dados.
Atualizado 22 de jul. de 2026  · 9 min lido

Explorar com IA

Abrir no ChatGPTAbrir no ClaudeAbrir no Perplexity

Image by Author

O que é Git?

Git é um sistema de controle de versão distribuído e de código aberto. Ele permite que desenvolvedores e cientistas de dados acompanhem o código, façam merges de mudanças e revertam para versões anteriores - AWS. Você pode sincronizar alterações com um servidor remoto. Pela flexibilidade e popularidade, o Git se tornou um padrão do mercado, já que funciona praticamente em todos os ambientes de desenvolvimento, ferramentas de linha de comando e sistemas operacionais. 

Como o Git funciona?

O Git armazena seus arquivos e o histórico de desenvolvimento em um repositório local. Sempre que você salva alterações feitas, o Git cria um commit. Um commit é um snapshot dos arquivos naquele momento. Esses commits são encadeados, formando um grafo de histórico de desenvolvimento, como mostrado abaixo. Ele permite voltar a um commit anterior, comparar mudanças e ver a evolução do projeto - Azure DevOps. Os commits são identificados por um hash único, usado para comparar e reverter alterações.  

A graph of the development history

Um grafo do histórico de desenvolvimento

Branches

As branches são cópias do código-fonte que evoluem em paralelo à versão principal. Para salvar as mudanças realizadas, faça o merge da branch com a versão principal. Esse recurso favorece um trabalho em equipe sem conflitos. Cada desenvolvedor tem sua tarefa e, usando branches, pode trabalhar em uma nova funcionalidade sem interferência dos colegas. Quando a tarefa terminar, você pode mesclar a nova funcionalidade com a versão principal (branch master). Se quiser aprender a clonar uma branch, confira este tutorial sobre Git Clone Branch.

Adding new feature to repository
Adicionando uma nova feature ao repositório 


Commits

Há três estados de arquivos no Git: modified, staged e commit. Quando você altera um arquivo, as mudanças ficam salvas no diretório local e ainda não fazem parte do histórico do Git. Para criar um commit, primeiro você precisa levar os arquivos alterados para a área de staging. Você pode adicionar ou remover mudanças da staging area e então empacotar essas alterações em um commit com uma mensagem descritiva.  

Three states of files in Git
Três estados de arquivos no Git

Quais são os benefícios do Git?

  • Acompanhar mudanças: permite visualizar alterações históricas. O histórico facilita identificar e corrigir bugs.
  • Integração com IDEs: graças à sua popularidade, o Git está integrado a todos os ambientes de desenvolvimento, como VSCode e JupyterLab.
  • Colaboração em equipe: o time pode acompanhar o progresso e, usando branches, cada pessoa trabalha em sua tarefa e depois mescla as mudanças com a versão principal. Pull requests, resolução de conflitos de merge e code reviews fortalecem a colaboração. 
  • VCS distribuído: em um sistema distribuído, não há armazenamento centralizado de arquivos. Existem múltiplos backups do mesmo projeto. Essa abordagem permite trabalhar offline e fazer commits. 

Git em projetos de ciência de dados

O Git oferece controle de versão para scripts, métricas, dados e modelos. Usando a extensão git-lfs, você pode armazenar e versionar grandes bases de dados e modelos de machine learning. Em um projeto típico de ciência de dados, você tem um notebook Jupyter, dataset, modelo, metadados e métricas do modelo. Os metadados incluem arquivos com informações sobre o modelo de machine learning, features, hiperparâmetros e arquivos de automação. Tudo isso é essencial para monitorar a evolução de aplicações de IA e solucionar problemas. 

Rastrear experimentos em ciência de dados ajuda pesquisadores a reverter alterações acidentais, escolher o melhor experimento com base nas métricas e colaborar com o time. O diagrama abaixo mostra como mudanças em dados ou código afetam os metadados e a saída do modelo. Acompanhar essas mudanças também ajuda o restante da equipe a propor soluções melhores. Saiba tudo sobre Git no post mais recente da Summer Worsley.

Git for a Data Science Project
Git em um projeto de ciência de dados 

Colaboração com o GitHub

GitHub é uma plataforma em nuvem para desenvolvimento de software. Ela é amplamente usada para salvar arquivos, acompanhar mudanças e colaborar em projetos. Nos últimos anos, o GitHub se tornou a plataforma social mais popular para comunidades de desenvolvimento. Pessoas contribuem com projetos open source e relatórios de bugs, discutem novas ideias e descobrem ferramentas. 

Cientistas de dados e engenheiros de machine learning seguem o caminho dos desenvolvedores de software e integram seu fluxo de trabalho ao GitHub. Assim, podem compartilhar pesquisas, permitir contribuições da comunidade e colaborar com times de dados. Você encontra todo tipo de projeto, guia, tutorial e recurso de ciência de dados e ML na plataforma. Para estudantes, virou uma oportunidade de adquirir experiência prática e, com o tempo, conseguir uma vaga em empresas de destaque. 

Portfólio

A maioria dos recrutadores técnicos vai pedir seus projetos de portfólio ou o perfil do GitHub. Isso ajuda a avaliar se você é a pessoa certa para a vaga. É altamente recomendado criar um perfil no GitHub e mantê-lo atualizado. Gestores de contratação buscam candidatos com experiência sólida em desenvolvimento e participação em projetos open source. Analisar o portfólio no GitHub também ajuda a preparar perguntas para entrevistas técnicas. 

GitHub Profile
GitHub Profile

O GitHub permite que cientistas de dados mostrem seus projetos, e isso pode contar como experiência profissional no seu currículo. Expor seus projetos de portfólio também abre portas para colaborações, criação de startups e pesquisas. 

Portfolio Projects
Projetos de portfólio

Recursos

O GitHub também oferece vários outros recursos tão importantes quanto mostrar um portfólio. Vale conhecer cada um para incorporá-los aos seus projetos de ciência de dados. 

  • Open source: o GitHub fornece um ecossistema completo para projetos abertos. Você pode patrocinar mantenedores, contribuir com um projeto, usar ferramentas open source no seu código e divulgar seu trabalho. 
  • Colaboração em comunidade: o GitHub se tornou um espaço de comunidade onde se discutem issues, pedidos de features, contribuições de código e documentação. 
  • Explore: a aba GitHub Explore ajuda você a descobrir projetos, ferramentas em alta e eventos de desenvolvedores. 
  • GitHub Gists: compartilhe trechos de código ou incorpore-os em blogs e sites. 
  • GitHub CLI: permite realizar pull/merge requests, revisar código, checar issues e acompanhar o progresso direto pela linha de comando. 
  • Armazenamento gratuito: repositórios privados e públicos ilimitados.
  • Hospedagem web: você pode publicar seu site de portfólio ou documentação. O GitHub Pages facilita criar e colocar um site no ar. 
  • Codespaces: um ambiente de desenvolvimento em nuvem integrado ao seu repositório no GitHub. 
  • Projects: uma ferramenta personalizável e flexível para planejar e acompanhar o trabalho no GitHub.
  • Automação: o GitHub Actions automatiza o fluxo de desenvolvimento, como build, testes, publicação, release e deploy.
  • Sponsor: apoie seu projeto ou desenvolvedor favorito com uma contribuição mensal ou única. Também é possível usar plataformas de pagamento de terceiros, como ko-fi. 

Comandos básicos

Antes de partir para o gerenciamento de projetos de ciência de dados, vamos ver os comandos do Git que você mais vai usar no dia a dia. Eles incluem inicializar o repositório, salvar mudanças, checar logs, enviar alterações para o servidor remoto e fazer merges. 

  • git init cria um repositório Git no diretório local.

  • git clone <endereço-do-repo-remoto>: copia todo o repositório de um servidor remoto para o diretório local. Também pode copiar repositórios locais.

  • git add <arquivo.txt>: adiciona um arquivo, múltiplos arquivos ou pastas à área de staging.

  • git commit –m “Mensagem”: cria um snapshot das mudanças e o salva no repositório. 

  • git config usado para definir configurações do usuário, como email, nome de usuário e formatação de arquivos. 

  • git status mostra a lista de arquivos alterados ou que ainda não foram levados para staging e commit.  

  • git push <nome-do-remoto> <nome-da-branch>: envia commits locais para a branch remota do repositório.  

  • git checkout -b <nome-da-branch>: cria uma nova branch e muda para ela.

  • git remote –v: lista todos os repositórios remotos.

  • git remote add <nome-do-remoto> <host-ou-URL-remota>: adiciona um servidor remoto ao repositório local. 

  • git branch –d <nome-da-branch>: exclui a branch.

  • git pull merge commits de um repositório remoto no diretório local. 

  • git merge <nome-da-branch>: depois de resolver conflitos, mescla a branch selecionada com a branch atual.

  • git log mostra a lista detalhada de commits da branch atual.

Complete Development with GitHub
Desenvolvimento completo com GitHub

Se quiser aprender mais comandos, confira nosso cheat sheet de Git

Primeiros passos

Nesta seção, vamos usar o Git para versionar um projeto de ciência de dados e o GitHub como servidor remoto. Vamos aprender a instalar o Git, criar e clonar um repositório do GitHub, executar experimentos de machine learning e enviar mudanças (notebook, modelo, dados) para o GitHub usando o Windows PowerShell 7.  

Instalando o Git

O Git funciona em todos os sistemas operacionais. Você pode instalá-lo pela linha de comando ou baixando e executando o instalador. 

Linux

Em sistemas Debian/Ubuntu use `apt-get install git`; se estiver em outra distribuição Linux, veja a lista completa de comandos de instalação aqui.

macOS

Se você tiver o homebrew instalado, use este comando para baixar e instalar o Git: `brew install git`. Você também pode baixar o instalador binário e executar o setup.

Windows

Instalar o Git no Windows é simples. Vá até a página de download, clique na sua versão do Windows e baixe e instale. Se você usa a ferramenta winget, pode instalar digitando winget install --id Git.Git -e --source winget no PowerShell. 

Depois de instalar o Git, configure seu nome de usuário e email. Essas informações assinam seus commits. 

git config --global user.name "your-user-name"
git config --global user.email "your@email.com"

Para mais detalhes sobre como instalar o Git, clique aqui

Inicializando o projeto

Se você tem uma conta no GitHub, clique no botão + e selecione novo repositório. Depois, digite o nome e adicione uma descrição simples. Isso criará um repositório público vazio. 

Creating project
Criando o projeto

Há várias maneiras de clonar repositórios remotos para o diretório local, e o GitHub fornece um guia detalhado sobre como clonar, adicionar o remoto e inicializar um projeto Git.  

GitHub Clone
Clone no GitHub

Podemos simplesmente clonar o repositório fornecendo o link HTTPS. Certifique-se de estar no diretório de trabalho, usando o Prompt de Comando ou o PowerShell. 

git clone https://github.com/kingabzpro/DataCamp-Git.git

>>> Clonando em 'DataCamp-Git'...
>>> warning: Parece que você clonou um repositório vazio.

cd .\DataCamp-Git\

OU

Crie um novo diretório chamado “DataCamp-Git” e inicialize o Git com um comando simples. Depois, adicione a conexão com o repositório remoto para poder sincronizar seu trabalho com o GitHub.

mkdir DataCamp-Git
cd .\DataCamp-Git
git init

>>> Repositório Git vazio inicializado em C:/Repository/GitHub/DataCamp-Git/.git/

git remote add origin https://github.com/kingabzpro/DataCamp-Git.git

OU

Se você já tem um projeto em um diretório, apenas inicialize o Git com `git init` e adicione o remoto do GitHub, como mostrado acima. 

Commit simples

Antes de adicionar arquivos ao repositório, confirme que você está no diretório local correto. 

Vamos começar criando um README com o título DataCamp-Git. Em seguida, vamos adicioná-lo à área de staging com `git add`. 

echo "# DataCamp-Git" >> README.md
git add README.md

O git status mostra que estamos na branch main e que o arquivo `README.md` está em staging e pronto para commit.  

git status

>>> On branch main
>>> No commits yet
>>> Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

Para criar nosso primeiro commit, vamos usar `git commit` com uma mensagem. Como dá para ver, o primeiro commit foi adicionado sob o hash ed9c886.

git commit -m "first commit"

>>> [main (root-commit) ed9c886] first commit
>>> 1 file changed, 1 insertion(+)
>>> create mode 100644 README.md

Adicionando arquivos do projeto

Vamos usar o workspace da DataCamp MasterCard Stock Price with LSTM and GRU e baixar os arquivos. O autor já pré-processou os dados e treinou séries temporais com modelos LSTM e GRU. Saiba mais lendo o tutorial de redes neurais recorrentes (RNN).

Para salvar o arquivo do modelo, adicionamos uma nova célula de código no notebook Jupyter do projeto. O script cria um diretório “model” e salva os modelos LSTM e GRU. 

!mkdir -p model
model_lstm.save('model/LSTM')
model_gru.save('model/GRU')

Como vemos, o repositório Git tem uma pasta data com arquivos CSV e a pasta model com os pesos e metadados dos modelos. 

Git Data Folder

Agora vamos colocar todos os arquivos em staging. Você pode adicionar qualquer diretório, arquivo ou dado depois do comando inicial. 

git add .\data .\model LSTM_GRU.ipynb RNN.png

OU

Se quiser adicionar tudo à área de staging, use o ponto. 

git add .

Commit e push

Vamos fazer commit de todas as mudanças com uma mensagem simples; a saída mostra todos os novos arquivos em create mode. 

git commit -m "project files added"

>>> [main aa3e19a] project files added
>>>  10 files changed, 5020 insertions(+)
>>>  create mode 100644 LSTM_GRU.ipynb
>>>  create mode 100644 RNN.png
>>>  create mode 100644 data/Mastercard_stock_history.csv
>>>  create mode 100644 data/Mastercard_stock_info.csv
>>>  create mode 100644 model/GRU/saved_model.pb
>>>  create mode 100644 model/GRU/variables/variables.data-00000-of-00001
>>>  create mode 100644 model/GRU/variables/variables.index
>>>  create mode 100644 model/LSTM/saved_model.pb
>>>  create mode 100644 model/LSTM/variables/variables.data-00000-of-00001
create mode 100644 model/LSTM/variables/variables.index

Para sincronizar com o repositório remoto no GitHub é preciso informar o nome do remoto e o nome da branch `git push <nome-do-remoto> <nome-da-branch>`. Se você só tem um remoto e uma branch, apenas `git push` funciona.  

Após o `git push`, uma janela pop-up vai pedir suas credenciais: informe seu usuário e senha do GitHub. Você também pode gerar tokens de acesso pessoal e usá-los no lugar da senha. Saiba mais no tutorial de Git Push e Pull.

git push

>>> Enumerating objects: 21, done.
>>> Counting objects: 100% (21/21), done.
>>> Delta compression using up to 4 threads
>>> Compressing objects: 100% (19/19), done.
>>> Writing objects: 100% (21/21), 1.83 MiB | 1.59 MiB/s, done.
>>> Total 21 (delta 2), reused 0 (delta 0), pack-reused 0
>>> remote: Resolving deltas: 100% (2/2), done.
>>> To https://github.com/kingabzpro/DataCamp-Git.git
>>>  * [new branch]      main -> main

Vamos conferir nosso repositório no GitHub kingabzpro/DataCamp-Git para ver se as mudanças foram enviadas com sucesso. O repositório contém todos os arquivos, dados e modelos.

Remote push to GitHub
Push para o GitHub

Branches no Git

É recomendável trabalhar com branches: por exemplo, se você vai tratar da documentação, crie uma branch de documentação usando git checkout ou git branch. Faça as mudanças no README e, quando finalizar, faça o merge da branch com a base. 

No nosso caso, criamos e mudamos para uma nova branch chamada readme.

git checkout -b readme

Vamos editar o README adicionando a descrição do projeto e links para o workspace e o tutorial de RNN na DataCamp. Depois, vamos colocar as mudanças em staging e salvar o snapshot com uma mensagem.

git add README.md
git commit -m "project description and links to blog"

>>> [readme f3b8b9b] project description and links to blog
>>>  1 file changed, 8 insertions(+)

O repositório remoto não tem a branch readme. Para criar a branch e enviar as mudanças, usaremos “readme:readme”. A saída mostra que as branches foram criadas e que as branches `readme` local e remota estão sincronizadas. 

git push origin readme:readme
>>> remote: Resolving deltas: 100% (1/1), completed with 1 local object.
>>> remote: Create a pull request for 'readme' on GitHub by visiting:
>>> remote:  https://github.com/kingabzpro/DataCamp-Git/pull/new/readme
>>> remote:
To https://github.com/kingabzpro/DataCamp-Git.git
>>>  * [new branch]      readme -> readme

Você pode ver que enviamos com sucesso a branch local para o GitHub com a versão modificada do arquivo README.md. 

Readme branch on GitHub
Branch readme no GitHub

Pull request

Esse fluxo é comum em organizações. Por exemplo, uma pessoa desenvolvedora trabalhou em uma nova feature e quer mesclar as mudanças na branch principal remota. Vamos criar um pull request usando a interface do GitHub clicando em Pull request. Depois, selecione a branch readme que queremos mesclar com a base (main). Escreva uma explicação detalhando as mudanças e clique no botão para abrir o pull request. 

Pull request from readme to main branch
Pull request da branch readme para a main

O mantenedor do repositório vai comparar suas mudanças e mesclá-las quando passarem por todos os testes. No nosso caso, você é o mantenedor, então clique em merge para integrar as mudanças à branch principal. 

GitHub Merge Pull Request
Merge do pull request no GitHub

Parabéns! Criamos o pull request e fizemos o merge com a branch principal. Você pode ver as mudanças na branch main aqui

Se quiser ver todas as mudanças no seu repositório, digite `git log` e ele mostrará o histórico do projeto. Registrar mudanças em projetos de ciência de dados é importante, e o Git ajuda a rastrear tudo, inclusive grandes datasets. 

History of Git Logs
Histórico de logs do Git

Considerações finais

Práticas de GitOps são fundamentais no desenvolvimento de aplicações de dados. Tornaram-se uma habilidade essencial para todos os tipos de vagas em TI, e até pesquisadores acadêmicos as utilizam para compartilhar código experimental com um público mais amplo. Já o GitHub tem um papel enorme na promoção de projetos open source ao oferecer um ecossistema de desenvolvimento gratuito para todos. 

Neste tutorial, aprendemos sobre Git e GitHub e por que eles são importantes para projetos de ciência de dados. Você também viu comandos básicos do Git e teve uma experiência prática de como versionar mudanças em dados, modelos e código. Se quiser se aprofundar em Git, faça o curso Introduction to Git na DataCamp. Você também pode conhecer a importância da certificação GitHub Foundations e como ela pode impulsionar sua carreira. 

Torne-se um engenheiro de dados

Torne-se um engenheiro de dados por meio do aprendizado avançado de Python
Comece a Aprender De Graça

Perguntas frequentes sobre Git

O que é Git?

Um sistema de controle de versão distribuído e de código aberto. Ele permite que desenvolvedores armazenem, versionem e visualizem mudanças em um projeto de desenvolvimento. Favorece um trabalho em equipe flexível e um fluxo de trabalho otimizado. 

O que significa Git?

Não é um acrônimo. Segundo seu criador, Linus Torvalds, “Git pode significar qualquer coisa, depende do seu humor.” É a combinação de três letras aleatórias que não são usadas por nenhum comando UNIX.  

Como clonar um repositório Git?

Basta digitar `git clone <endereço do repositório remoto>` no terminal. Você pode clonar repositórios locais e remotos. Há suporte para os protocolos SSH e HTTPS.

Como apagar uma branch no Git?

Para apagar uma branch local, use `git branch -d <nome_da_branch_local>`, e para apagar a branch remota, use `git push <nome_do_remoto> -d <nome_da_branch_remota>`.

Como alternar entre branches no Git?

Altere para uma branch existente com `git checkout <nome_da_branch>` ou crie e mude para uma nova branch com `git checkout -b <nome_da_branch>`.

Como instalo o Git?

Em sistemas Linux, use `apt-get install git`, e para outros sistemas operacionais acesse git-scm.com.

O Git é gratuito?

Sim, é gratuito e de código aberto sob a licença GPL-2.0.

O que é Git Bash?

É um aplicativo para Microsoft Windows que oferece utilitários e experiência de shell baseados em Unix. 

Como criar uma nova branch no Git?

Use o comando `git branch <nova-branch> <base-branch>` no terminal. Para criar e alternar para uma nova branch, use `git checkout -b <nome_da_branch>`.

O que o git pull faz?

Atualiza a versão local de um repositório a partir de um servidor remoto, copiando todas as alterações do repositório remoto e mesclando-as com o diretório local. Esse processo geralmente exige resolver conflitos de merge. 

Como fazer fork de um repositório no Git?

Fazer fork no GitHub é criar uma cópia de um repositório na sua conta do GitHub a partir de outra conta. É comum para contribuições da comunidade ou trabalho em equipe. 

Como renomear uma branch no Git?

Para o repositório local é simples: use `git branch -m <nome-antigo> <nome-novo>`. Para renomear uma branch remota, primeiro remova a antiga com `git push origin --delete <nome-antigo>` e depois envie a nova `git push -u origin <nome_novo>`.

Como excluir o repositório Git?

Você pode excluir a pasta local ou remover a pasta .git com `rm -fr .git`. No GitHub, vá nas configurações do repositório e, no fim da página, você verá a opção de exclusão.

Como instalar o Git no Windows?

Baixe o instalador para Windows no site e execute-o. Ele instalará o Git Bash, o Git CDM e o Git GUI.

Como reverter um commit no Git?

Use `git revert <commit sha>`, que requer o hash único de um commit anterior. Você também pode usar `git revert HEAD~2`, que volta dois commits a partir do HEAD.   

Tópicos
Relacionado
Git

blog

O que é Git? Manual completo do Git

Saiba mais sobre o sistema de controle de versão mais conhecido e por que é uma ferramenta de colaboração indispensável para cientistas de dados e programadores.
Summer Worsley's photo

Summer Worsley

14 min

Tutorial

Tutorial de push e pull do GIT

Saiba como realizar solicitações Git PUSH e PULL por meio do GitHub Desktop e da linha de comando.

Olivia Smith

Tutorial

Tutorial de Markdown no Jupyter Notebook

Neste tutorial, você vai aprender a usar e escrever com diferentes tags de marcação usando o Jupyter Notebook.

Olivia Smith

Tutorial

Como escrever um script Bash: um tutorial simples de scripts Bash

Descubra os fundamentos da criação de scripts Bash e aprenda a escrever um script Bash.
Kurtis Pykes 's photo

Kurtis Pykes

Tutorial

Tutorial do MySQL: Um guia abrangente para iniciantes

Descubra o que é o MySQL e como começar a usar um dos sistemas de gerenciamento de banco de dados mais populares.
Javier Canales Luna's photo

Javier Canales Luna

Tutorial

Git Rename Branch: Como renomear uma filial local ou remota

Saiba como renomear ramificações locais e remotas do Git usando o terminal ou a interface gráfica do usuário (GUI) de clientes populares como o GitHub.
Ver MaisVer Mais