Git Remote Branches

1 min

Índice

  1. O que é uma Remote Branch?
  2. Tracking das Branches
  3. Sincronização
  4. Gestão das Branches remotas
  5. Comandos essenciais

1. O que é uma Remote Branch?

Remote branch = uma branch que existe no servidor remoto (GitHub, GitLab, etc.).

Conceito-chave:

  • Local branch: só no seu PC
  • Remote branch: no servidor partilhado
  • Remote-tracking branch: cópia local da branch remota

Analogia: é como ter uma cópia local do livro da biblioteca.

Voltar ao índice

2. Tracking das Branches

bash
mkdir demo-remote && cd demo-remote
git init && echo "print('main')" > app.py
git add . && git commit -m "Initial commit"

# Acrescentar remote (simula GitHub)  
git remote add origin https://github.com/user/repo.git

# Criar branch que faz tracking de uma remote
git checkout -b feature-login
echo "print('login')" > login.py
git add . && git commit -m "Add login"

# Push E criar o tracking
git push -u origin feature-login

# Verificar o tracking
git branch -vv    # Ver que branches fazem tracking de quê

Resultado: a sua branch local feature-login segue origin/feature-login.

Voltar ao índice

3. Sincronização

Obter as atualizações sem fundir:

bash
git fetch origin                 # Descarrega as alterações
git status                       # Ver se a sua branch está atrasada
git log --oneline origin/main    # Ver os novos commits remotos

Obter E fundir:

bash
git pull origin main             # = git fetch + git merge
# Ou para a sua branch com tracking:
git pull                         # Mais simples

Enviar as suas alterações:

bash
git push                         # Se a branch tem tracking
git push origin feature-login    # Explícito

Voltar ao índice

4. Gestão das Branches remotas

Ver todas as branches (locais + remotos):

bash
git branch -a                    # Todas as branches
git branch -r                    # Só as remotas
git remote show origin           # Detalhes do remote

Apagar uma branch remota:

bash
git push origin --delete feature-old    # Apagar no servidor
git branch -d feature-old               # Apagar localmente
git fetch --prune                       # Limpar as referências

Criar branch local a partir de uma remota:

bash
git checkout -b local-name origin/remote-name
# Ou mais simples:
git checkout remote-name         # Cria automaticamente o tracking

Voltar ao índice

5. Comandos essenciais

ComandoAção
git fetchObter atualizações sem fundir
git pullObter + fundir
git push -u origin <branch>Enviar + criar tracking
git branch -vvVer o estado do tracking
git remote show originInformações detalhadas do remote
git push origin --delete <branch>Apagar branch remota
git fetch --pruneLimpar referências mortas

Remote branches = coordenação em equipa. Dominar isto = trabalho fluido!

Voltar ao índice