7. Repositórios remotos e GitHub

O que é um repositório remoto?

Até agora, seu repositório viveu em um lugar só: o seu computador.

Um

é um repositório Git armazenado em outro lugar, geralmente em um serviço como o GitHub. Ele continua sendo um repositório Git, mas fica disponível pela rede, e não só na sua própria máquina.

No projeto que estamos construindo, o repositório local já existe. Quando criarmos um repositório no GitHub para ele, os dois repositórios ainda não vão saber um do outro. Para usá-los juntos, vamos conectar o repositório local à URL do repositório remoto.

Muita gente encurta repositório remoto para só remoto. Quando alguém diz "dê um push para o remoto", quer dizer "envie os commits para esse repositório Git hospedado".

Este é o caminho que vamos seguir neste capítulo:

  1. Já temos um repositório local no nosso computador. Ele contém os commits que fizemos até agora.

  2. Vamos criar um repositório vazio no GitHub. Isso nos dá um lugar online capaz de guardar uma cópia do histórico do nosso projeto.

  3. Vamos conectar nosso repositório local ao repositório do GitHub adicionando a URL do GitHub como um remoto. O nome usual desse primeiro remoto é origin.

  4. Com essa conexão criada, podemos dar um push dos nossos commits locais para esse repositório vazio no GitHub.

  5. Mais tarde, se o repositório do GitHub tiver commits novos que o nosso repositório local ainda não tem, podemos dar um pull para puxar esses commits de volta.

Esse passo de conexão é a parte-chave. Enquanto você não adicionar um remoto, seu repositório local não sabe para qual repositório do GitHub deve enviar os commits.

Existe outro ponto de partida comum:

.

Clonar é o que você faz quando o projeto já existe no GitHub e você quer obter sua primeira cópia local. Em vez de começar com git init, você clona o repositório remoto, e o Git cria para você um repositório local já conectado. Depois, é só trabalhar nele normalmente.

Neste curso, estamos fazendo o contrário: começamos localmente e agora estamos conectando esse repositório local ao GitHub.

Com um repositório remoto, você pode:

  • Fazer backup do seu trabalho: se algo acontecer com o seu computador, seus commits continuam existindo no servidor remoto.

  • Trabalhar em mais de uma máquina: você pode dar um push de um computador e um pull dos mesmos commits em outro.

  • Compartilhar o trabalho com uma equipe: o repositório remoto vira o lugar compartilhado onde as pessoas trocam commits.

Se o repositório remoto é seu, você decide quem pode lê-lo e quem pode alterá-lo. Por exemplo, um projeto open source pode permitir que qualquer pessoa clone o repositório, mas só pessoas selecionadas, chamadas de maintainers (mantenedores), podem dar push de commits no repositório principal.

O GitHub também permite

um repositório. Um fork é uma cópia separada, no lado do servidor, na conta de outra pessoa. Assim, essa pessoa pode fazer experimentos na própria cópia sem alterar o repositório original.

Duas palavras são fáceis de confundir:

  • Clone: fazer uma cópia local de um repositório remoto no seu computador.

  • Fork: fazer uma cópia, no lado do servidor, do repositório remoto de outra pessoa na sua conta. Depois, você normalmente clona a partir desse fork, e não do repositório original. As atualizações do repo original não vão aparecer no seu fork, a menos que você as puxe explicitamente.

Se alguém encontra um bug em um projeto open source, pode forkar o projeto, corrigir o bug no próprio fork e depois sugerir a correção

. Se os mantenedores gostarem da mudança, podem trazê-la para o repositório original.

Projetos como o Linux, o .NET, o Python e o VS Code são desenvolvidos desse jeito. Você ainda não precisa desse fluxo de trabalho inteiro, mas é útil saber o que o GitHub torna possível.

Vamos criar um

O GitHub é uma plataforma popular para hospedar repositórios Git remotos. Neste capítulo, vamos criar um repositório no GitHub, conectá-lo ao nosso repositório local e enviar nossos commits para lá.

Vamos ver como criar um repositório novo no GitHub.

Next step
Quer testar o modo história?

Faça o curso do jeito que ele foi pensado: progressão em pequenas doses, ordem linear e focada, desbloqueio gradual das entradas da Gitopedia. Continue com o Git de verdade no VS Code/Cursor/Antigravity/Windsurf a qualquer momento.

Modo história
GRATUITO
mas precisa de login