histórico, conceitos, fluxos e prática
— Frank Lima
É uma prática essencial no desenvolvimento de software que permite rastrear, acompanhar e gerenciar as alterações realizadas em um projeto, permitindo que desenvolvedores colaborem de forma eficaz.
Repositório
Onde se hospeda o projeto base.
Commit
É o ponto de salvamento no histórico do projeto. Ele registra um conjunto de mudanças com uma mensagem descritiva.
Stagging Area (Area de preparação)
Antes de registrar um commit, você escolhe quais arquivos ou mudanças quer incluir com o comando git add
Branch (Ramo)
É uma linha de desenvolvimento independente. Serve para isolar funcionalidades, ações ou testes sem interferir no código principal.
Merge
Usado para juntar o contéudo de uma branch com outra.
Merge Conflict (Conflito de Merge)
Ocorre quando duas branches alteram a mesma parte de um arquivo. O git não sabe qual versão manter, e precisa ser feito manual.
Clone
Copia um repositório remoto inteiro para uma máquina local para desenvolvimento.
Pull
Atualiza seu repositório local com mudanças que estão no repositório remoto.
Push
Envia suas alterações locais (commits) para o repositório remoto.
Histórico (Log)
Mostra todos os commits feitos no repositório, com data, autor e a mensagem.
Temos dois ambientes conhecidos como "Remoto" e "Local"
Remoto
Local
Repositório
Comandos
# 1. Criar um repositório Git
git init
# 2. Adicionar arquivos à área de preparação (Staging Area)
git add arquivo.txt
# 2.1 ou todos os arquivos:
git add .
# 3. Fazer um commit
git commit -m "Adiciona o arquivo de configuração inicial"
# 4. Ver o histórico de commits
git log
# 5. Criar um novo branch
git branch feature/login
# 6. Mudar para outro branch
git checkout feature/login
# 6.1 Cria e já troca
git checkout -b feature/login
# 7. Unir (merge) um branch com outro
git checkout main
git merge feature/login
# 8. Resolver conflitos (se houver)
git add arquivo_com_conflito.txt
git commit
# 9. Clonar um repositório remoto
git clone https://<provedor_git>.com/seu-usuario/seu-repositorio.git
# 10. Enviar alterações para o repositório remoto
git push origin main
# 11. Buscar e aplicar alterações do remoto
git pull origin main
Tree ou árvore é uma estrutura que representa um diretório (pasta) em um determinado commit.
Commit
└── Tree (diretório raiz)
├── Blob (arquivo: main.py)
├── Blob (arquivo: README.md)
└── Tree (subpasta: src/)
├── Blob (arquivo: app.py)
└── Blob (arquivo: utils.py)
Resumo:
A Jetbrains possui um plugin instalado nativamente nas suas IDEs, para acionar basta apertar "Alt + 9" para abrir.
Exemplo no Pycharm:
Exercício: localize a arvore do git
3. Use .gitignore corretamente: evite enviar arquivos desnecessariamente como dependências 0