O Que É um Git Remote?
Um remote é uma referência nomeada a uma cópia do seu repositório hospedada em outro lugar, como no GitHub, para a qual você faz push e da qual faz fetch.
Um remote é como o seu repositório Git local conversa com um compartilhado. É apenas um nome, como origin, emparelhado com uma URL. Você faz push dos seus commits para um remote para que outros e o CI possam vê-los, e faz fetch de um remote para pegar o trabalho de todos os demais.
O que é um remote
Um remote é um marcador para outra cópia do repositório, identificado por um nome curto e uma URL. Você pode ter vários remotes, por exemplo um para o projeto canônico e outro para o seu próprio fork. Branches de remote-tracking espelham o estado dessas cópias localmente.
Trabalhando com remotes
Você pode listar, adicionar e inspecionar remotes e, em seguida, fazer push e fetch contra eles pelo nome.
git remote -v
git remote add upstream https://github.com/owner/project.git
git fetch upstreamPush e fetch
O push envia seus commits locais para um remote; o fetch baixa novos commits de um remote sem alterar seus arquivos de trabalho; o pull é fetch mais merge. Essas operações são como uma equipe converge para uma história compartilhada através do remote.
Remotes em CI/CD
O remote é a fonte da verdade que um sistema de CI/CD observa. Um push para uma branch remota dispara pipelines, e o runner de CI clona do remote para fazer o build do commit exato enviado. Plataformas de runner gerenciado como o Latchkey fazem checkout do seu repositório remoto no início de cada job, então um clone rápido e confiável mantém os pipelines ágeis.
Tarefas comuns com remotes
- Use origin para o repositório do qual você clonou.
- Adicione um remote upstream ao trabalhar a partir de um fork.
- Faça fetch antes de começar o trabalho para ver a última história.
- Faça push das branches de feature para que o CI e os revisores possam vê-las.
Principais conclusões
- Um remote é uma URL nomeada para outra cópia do seu repositório.
- Push, fetch e pull movem commits entre local e remote.
- O CI observa o remote e o clona para fazer o build do commit enviado.