Repositório remoto

7 min

Índice


1 — Repositório local vs repositório remoto

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 localRepositório remoto
Onde?O seu computadorUm servidor (GitHub…)
Para quê?Trabalhar, fazer commitPartilhar, salvaguardar, colaborar
AcessoSó 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).

↑ Voltar ao topo


2 — Ligar um repositório remoto

Para ligar o seu repositório local a um repositório remoto, acrescenta-se-lhe uma referência chamada por convenção origin.

bash
# 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
ComandoEfeito
git remote add origin <url>Liga o local ao remoto (alias origin)
git remote -vLista os remotos e os seus URL
git remote remove originRetira 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 usa origin — 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.

✅ Ver uma solução
bash
git remote add origin https://github.com/moi/projet.git

↑ Voltar ao topo


3 — Enviar as alterações

Enviar (push) é mandar os seus commits locais para o repositório remoto.

bash
# 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
ComandoQuando usar
git push -u origin mainPrimeiro push de uma branch (estabelece o seguimento)
git pushTodos 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 push e git pull sabem o que fazer sozinhos.

🔧 Mini-exercício — Escreva o comando do primeiro push da branch main para origin, a estabelecer o seguimento.

✅ Ver uma solução
bash
git push -u origin main

↑ Voltar ao topo


4 — Obter as alterações

Quando um colega envia código, precisa de obter as alterações dele para se manter atualizado.

bash
# Obter E fundir as alterações remotas
git pull

# Obter SEM fundir (para inspecionar primeiro)
git fetch
ComandoEfeito
git fetchDescarrega as novidades remotas, sem modificar o seu trabalho
git mergeFunde o que foi obtido na sua branch
git pullfetch + merge num só comando

Bom hábito: faça git pull antes 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?

✅ Ver uma solução
bash
git fetch

↑ Voltar ao topo


5 — Clonar um repositório

Clonar (clone) é criar uma cópia local completa de um repositório remoto existente — tipicamente para entrar num projeto.

bash
# 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-dossier

git clone faz tudo de uma vez:

  1. Descarrega a integralidade do repositório (ficheiros + histórico).
  2. Cria uma pasta local.
  3. Configura automaticamente origin para o URL clonado.
git init + remote addgit clone
Para publicar um projeto já existente em localPara obter um projeto já existente à distância

Resumo: clona-se quando o projeto já existe em linha; faz-se init + remote add + push quando 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.

✅ Ver uma solução
bash
git clone https://github.com/moi/projet.git mon-dossier

↑ Voltar ao topo


6 — O fluxo colaborativo completo

Eis o ciclo diário completo do trabalho colaborativo com um repositório remoto.

EtapaComandoObjetivo
1git pullPartir da última versão
2git add + git commitGravar o trabalho localmente
3git pullObter o que mudou entretanto
4git pushPublicar 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).

↑ Voltar ao topo


7 — Quiz — Repositório remoto

Question 1

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

💡 Ver a solução

Resposta: b) — O repositório remoto (no GitHub, por ex.) serve de salvaguarda, de ponto de partilha e de base à colaboração.


Question 2

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

💡 Ver a solução

Resposta: b)origin é o alias convencional para o repositório remoto principal ligado ao repositório local.


Question 3

Qual o comando que envia os seus commits locais para o remoto?

a) git pull

b) git push

c) git clone

d) git fetch

💡 Ver a solução

Resposta: b)git push envia os commits locais para o repositório remoto. git pull/fetch fazem o inverso.


Question 4

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

💡 Ver a solução

Resposta: b)git pull = git fetch + git merge. fetch sozinho permite inspecionar antes de fundir.


Question 5

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

💡 Ver a solução

Resposta: b)git clone copia um repositório remoto existente para local e configura origin automaticamente.

↑ Voltar ao topo


8 — Prática — Publicar o repositório no GitHub

Instrução

Publique o repositório local criado na lição 04 no GitHub, depois simule uma colaboração ao cloná-lo noutro sítio.


Correção — Sequência de comandos esperada

bash
# --- 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 pull

Resultado 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.

↑ Voltar ao topo


9 — Síntese

Pontos a reter

  1. Repositório remoto = cópia num servidor (GitHub): salvaguarda + partilha + colaboração.
  2. git remote add origin <url> liga o local ao remoto.
  3. git push envia; git pull (= fetch + merge) recebe.
  4. git clone obtém um repositório existente e configura origin automaticamente.
  5. Rotina diária: pull → trabalhar → commit → pull → push.

A continuação

Módulo 02 — Git avançado e GitHub: Pull Requests, revisão de código, gestão de conflitos em equipa e workflows profissionais.

↑ Voltar ao topo


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