Até aqui, todo o seu trabalho vivia na sua máquina (repositório local). Um repositório remoto (remote) é uma cópia alojada num servidor (GitHub, GitLab, Bitbucket…), acessível a toda a equipa.
| Repositório local | Repositório remoto | |
|---|---|---|
| Onde? | O seu computador | Um servidor (GitHub…) |
| Para quê? | Trabalhar, fazer commit | Partilhar, salvaguardar, colaborar |
| Acesso | Só você | Toda a equipa |
O repositório remoto desempenha três papéis: salvaguarda (o seu código sobrevive a uma avaria de disco), partilha (a equipa acede ao mesmo código) e ponto de encontro (base da colaboração e da CI/CD).
Para ligar o seu repositório local a um repositório remoto, acrescenta-se-lhe uma referência chamada por convenção origin.
# Acrescentar o repositório remoto chamado "origin"
git remote add origin https://github.com/utilisateur/mon-projet.git
# Verificar os repositórios remotos configurados
git remote -v| Comando | Efeito |
|---|---|
git remote add origin <url> | Liga o local ao remoto (alias origin) |
git remote -v | Lista os remotos e os seus URL |
git remote remove origin | Retira a ligação |
originé apenas um nome por convenção para « o repositório remoto principal ». Poderia chamar-se de outro modo, mas toda a gente usaorigin— mantenha esta convenção.
🔧 Mini-exercício — Escreva o comando que liga o seu repositório local ao repositório remoto https://github.com/moi/projet.git com o alias origin.
git remote add origin https://github.com/moi/projet.gitEnviar (push) é mandar os seus commits locais para o repositório remoto.
# Primeiro push: liga-se a branch local à branch remota com -u
git push -u origin main
# Nas vezes seguintes, um simples push basta
git push| Comando | Quando usar |
|---|---|
git push -u origin main | Primeiro push de uma branch (estabelece o seguimento) |
git push | Todos os push seguintes |
A opção
-u(ou--set-upstream) só serve uma vez por branch: liga a sua branch local à gémea remota. Depois,git pushegit pullsabem o que fazer sozinhos.
🔧 Mini-exercício — Escreva o comando do primeiro push da branch main para origin, a estabelecer o seguimento.
git push -u origin mainQuando um colega envia código, precisa de obter as alterações dele para se manter atualizado.
# Obter E fundir as alterações remotas
git pull
# Obter SEM fundir (para inspecionar primeiro)
git fetch| Comando | Efeito |
|---|---|
git fetch | Descarrega as novidades remotas, sem modificar o seu trabalho |
git merge | Funde o que foi obtido na sua branch |
git pull | fetch + merge num só comando |
Bom hábito: faça
git pullantes de começar a trabalhar e antes de enviar. Isto evita a maior parte dos conflitos, porque parte sempre da versão mais recente.
🔧 Mini-exercício — Qual o comando que obtém os commits remotos sem os fundir na sua branch, para os inspecionar primeiro?
git fetchClonar (clone) é criar uma cópia local completa de um repositório remoto existente — tipicamente para entrar num projeto.
# Clonar um repositório (cria uma pasta + descarrega todo o histórico)
git clone https://github.com/utilisateur/mon-projet.git
# Clonar numa pasta com um nome preciso
git clone https://github.com/utilisateur/mon-projet.git mon-dossiergit clone faz tudo de uma vez:
origin para o URL clonado.git init + remote add | git clone |
|---|---|
| Para publicar um projeto já existente em local | Para obter um projeto já existente à distância |
Resumo: clona-se quando o projeto já existe em linha; faz-se
init+remote add+pushquando se parte de um projeto local a publicar.
🔧 Mini-exercício — Escreva o comando que clona o repositório https://github.com/moi/projet.git numa pasta local chamada mon-dossier.
git clone https://github.com/moi/projet.git mon-dossierEis o ciclo diário completo do trabalho colaborativo com um repositório remoto.
| Etapa | Comando | Objetivo |
|---|---|---|
| 1 | git pull | Partir da última versão |
| 2 | git add + git commit | Gravar o trabalho localmente |
| 3 | git pull | Obter o que mudou entretanto |
| 4 | git push | Publicar os seus commits |
Este fluxo pull → trabalhar → commit → pull → push é a rotina de base. Em empresa, acrescentam-se as Pull Requests e a revisão de código — é o objeto do módulo 02 (Git avançado e GitHub).
O que é um repositório remoto?
a) Uma branch local
b) Uma cópia do repositório alojada num servidor, acessível pela equipa
c) Um ficheiro .gitignore
d) Um commit particular
✅ Resposta: b) — O repositório remoto (no GitHub, por ex.) serve de salvaguarda, de ponto de partilha e de base à colaboração.
O que designa habitualmente origin?
a) O primeiro commit do projeto
b) O nome por convenção do repositório remoto principal
c) A branch por omissão
d) Um tipo de conflito
✅ Resposta: b) — origin é o alias convencional para o repositório remoto principal ligado ao repositório local.
Qual o comando que envia os seus commits locais para o remoto?
a) git pull
b) git push
c) git clone
d) git fetch
✅ Resposta: b) — git push envia os commits locais para o repositório remoto. git pull/fetch fazem o inverso.
Qual é a diferença entre git fetch e git pull?
a) Nenhuma, são sinónimos
b) fetch descarrega sem fundir; pull descarrega e funde
c) pull apaga o histórico
d) fetch envia os commits
✅ Resposta: b) — git pull = git fetch + git merge. fetch sozinho permite inspecionar antes de fundir.
Em que caso se usa git clone?
a) Para publicar um projeto local vazio
b) Para obter uma cópia completa de um repositório já existente à distância
c) Para criar uma branch
d) Para resolver um conflito
✅ Resposta: b) — git clone copia um repositório remoto existente para local e configura origin automaticamente.
Publique o repositório local criado na lição 04 no GitHub, depois simule uma colaboração ao cloná-lo noutro sítio.
# --- Do lado do projeto local existente ---
# 1. Criar um repositório VAZIO em github.com (via a interface web)
# → obtém-se um URL: https://github.com/vous/mon-premier-depot.git
# 2. Ligar o local ao remoto
git remote add origin https://github.com/vous/mon-premier-depot.git
git remote -v
# 3. Enviar pela primeira vez
git push -u origin main
# --- Simular um colega que entra no projeto ---
# 4. Clonar noutro sítio (outra pasta)
cd ..
git clone https://github.com/vous/mon-premier-depot.git copie-collegue
cd copie-collegue
# 5. Modificar, fazer commit, enviar
echo "Contribuição do colega" >> README.md
git add README.md
git commit -m "Adiciona uma contribuição"
git push
# --- Regresso ao projeto de origem ---
# 6. Obter a contribuição
cd ../mon-premier-depot
git pullResultado esperado: depois do git pull final, o ficheiro README.md do projeto de origem contém a linha acrescentada pelo « colega ». O ciclo push / clone / push / pull está fechado.
Acaba de realizar uma colaboração Git completa sozinho. É exatamente o que acontece em equipa, só que as duas cópias estão em máquinas diferentes.
git remote add origin <url> liga o local ao remoto.git push envia; git pull (= fetch + merge) recebe.git clone obtém um repositório existente e configura origin automaticamente.pull → trabalhar → commit → pull → push.Módulo 02 — Git avançado e GitHub: Pull Requests, revisão de código, gestão de conflitos em equipa e workflows profissionais.
Todos os direitos reservados. Qualquer reprodução, difusão, utilização ou adaptação deste curso, no todo ou em parte, é estritamente proibida sem a autorização escrita prévia do Dr. Haythem REHOUMA.
Curso criado por Dr. Haythem REHOUMA — Desenvolvimento e implementação de soluções de dados