Para colaborar em projetos Git, é essencial saber como gerenciar repositórios remotos. Esses repositórios são versões do seu projeto hospedadas na internet ou em uma rede. Você pode ter vários repositórios remotos, com permissões de leitura ou leitura/escrita. Trabalhar com outros desenvolvedores envolve gerenciar esses repositórios, enviando (push) e recebendo (pull/fetch) dados conforme necessário.
Linha do Tempo das Funcionalidades do Git
Funcionalidades Locais
1. Inicialização do Repositório
: Cria um repositório Git local na pasta do projeto.
2. Preparando Arquivos para Commit
: Adiciona arquivos ao stage (área de preparação).
: Mostra o estado do repositório.
3. Salvando Mudanças
: Registra as mudanças no repositório local.
Funcionalidades Remotas
4. Configuração do Repositório Remoto
git remote add <nome> <url>
: Associa um repositório remoto ao seu repositório local.
5. Verificando os Remotos
: Lista os repositórios remotos configurados.
: Lista os remotos com suas URLs.
6. Buscando Dados do Remoto
: Baixa dados do repositório remoto sem mesclar.
7. Atualizando o Código Local
git pull <remote> <branch>
: Baixa e mescla automaticamente as mudanças do repositório remoto.
8. Enviando Mudanças para o Remoto
git push <remote> <branch>
: Envia seus commits locais para o repositório remoto.
O que são Repositórios Remotos?
Repositórios remotos são versões do seu projeto armazenadas em outro local. Esse local pode ser um servidor na internet, em uma rede local ou até mesmo outro diretório na sua máquina. O conceito de "remoto" significa que o repositório está em outro lugar, mesmo que fisicamente seja na mesma máquina.
Visualizando os Repositórios Remotos
Para listar os repositórios remotos configurados:
Para exibir as URLs associadas a cada repositório remoto:
origin https://github.com/usuario/repo.git (fetch) origin https://github.com/usuario/repo.git (push)
Se houver vários remotos, eles serão listados.
Adicionando Repositórios Remotos
Para adicionar um novo repositório remoto:
git remote add upstream https://github.com/autor/repo.git
para se referir a esse repositório.
Buscando Dados dos Repositórios Remotos
Para baixar dados de um repositório remoto sem mesclar automaticamente:
Esse comando baixa as mudanças do repositório remoto, mas
não altera seu código local automaticamente . Você precisará mesclar manualmente depois.
Buscando e Mesclando (pull)
Se você quiser baixar e mesclar automaticamente as mudanças do repositório remoto em seu branch atual:
A partir do Git 2.27, você pode configurar o comportamento do pull:
git config --global pull.rebase false # Fast-forward ou commit de mesclagem git config --global pull.rebase true # Sempre rebase ao puxar
Enviando Dados para o Repositório Remoto
Para enviar suas alterações para um repositório remoto:
Esse comando envia seus commits locais para o repositório remoto. Caso outra pessoa tenha feito alterações antes de você, seu push será rejeitado. Você precisará fazer um pull, mesclar as mudanças e tentar o push novamente.
Resumo dos Comandos
Comando
Descrição
git init
Inicializa um repositório local.
git add <arquivo>
Adiciona arquivos ao stage.
git status
Mostra o estado do repositório.
git commit -m "mensagem"
Registra mudanças localmente.
git remote
Lista os remotos configurados.
git remote -v
Lista os remotos com URLs.
git remote add <nome> <url>
Adiciona um novo repositório remoto.
git fetch <remote>
Baixa dados do remoto sem mesclar.
git pull <remote> <branch>
Baixa e mescla automaticamente as mudanças.
git push <remote> <branch>
Envia commits para o repositório remoto.
Entender e praticar o uso desses comandos tornará sua colaboração em projetos Git muito mais eficiente e segura.