Oi Mikael!
Essa é uma dúvida bem comum. No Git existe o conceito de repositório local e repositório remoto, que às vezes confunde quem está iniciando os estudos.
O repositório local é o repoistório que criamos em nosso computador, com o comando git init
, e nele adicionamos os nossos arquivos e vamos registrando as mudanças com os commits. Esse repositório é chamado de local, porque ele existe apenas em nosso computador e não está conectado na internet.
Porém, ao trabalhar apenas com o repositório local temos um risco, pois se acontecer alguma problema com o computador podemos perder nosso projeto. (ex: apagar a pasta do projeto sem querer, HD queimar, furto, etc.)
Além disso, com o repositório local não conseguimos trabalhar de maneira eficiente em time, com outras pessoas colaborando no mesmo projeto.
Justamente para resolver essas questões que entra a ideia do repositório remoto, que nada mais é do que um outro repositório que ficará em um outro computador e funcionará como um "backup" do meu repositório local, guardando os arquivos e commits realizados. E o repositório remoto fica em um computador separado e não mais no meu próprio computador, permitindo então que outras pessoas consigam se conectar para baixar os arquivos e commits, permitindo assim uma colaboração.
Existem empresas que oferecem esse serviço de "hospedagem de repositórios Git", sendo o GitHub uma delas (tem também o GitLab e BitBucket como concorrentes)
No GitHub você também cria repositórios, mas sem executar comandos no terminal e sim navegando pelo site. Quando você cria um repositório no GitHub, ele será um novo repositório, que é diferente do seu repositório local, que contém os arquivos e commits do projeto. Eles não estão automaticamente conectados.
Para realizar essa "conexão" entre o repositório remoto (localizado no GitHub) com o repositório local (localizado no seu computador) existe o comando git remote add
. Exemplo:
git remote add origin URL_REPOSITORIO_REMOTO
Esse comando faz o link entre os dois repositórios. Porém, a sincronização entre os reposiórios não será automática, ou seja, se eu adicionar arquivos e realizar commits no repositório local, essas mudanças vão existir apenas no repositório local e não serão enviadas automaticamente para o repositório remoto.
Para realizar a sincronização, existem os comandos git pull
, que "puxa" os novos commits do repositório remoto para o repositório local e git push
, que "empurra" os novos commits do repositório local para o repositório remoto.
Espero que tenha te ajudado a entender melhor o conceito de repositório local e remoto do Git.
Bons estudos!