O comando git remote permite criar, ver e excluir conexões com outros repositórios. As conexões remotas são mais parecidas com marcadores em vez de links diretos para outros repositórios. Em vez de dar acesso em tempo real a outro repositório, eles funcionam como nomes convenientes que podem ser usados para fazer referência a uma URL não tão conveniente.
O comando git remote é, em essência, uma interface para gerenciar uma lista de entradas remotas que são armazenadas no arquivo ./.git/config do repositório. Os comandos a seguir são usados para ver o estado atual da lista remota.
O comando git remote é também uma conveniência ou método "auxiliar" para modificar o arquivo ./.git/config de um repositório. Os comandos apresentados abaixo permitem gerenciar conexões com outros repositórios. Os comandos a seguir vão modificar o arquivo /.git/config do repositório. O resultado dos comandos a seguir também pode ser alcançado editando direto o arquivo ./.git/config com um editor de texto.
O Git foi desenvolvido para dar a cada desenvolvedor um ambiente de desenvolvimento isolado. Isto significa que as informações não são passadas automaticamente para lá e para cá entre os repositórios. Em vez disso, os desenvolvedores precisam puxar manualmente os commits upstream em seus repositórios locais ou colocar manualmente seus commits locais de volta no repositório central. O comando git remote é apenas uma forma mais fácil de passar URLs a esses comandos de "compartilhamento".
Quando você clona um repositório com git clone, ocorre a criação automática de uma conexão remota chamada origem, que aponta de volta para o repositório clonado. É um recurso útil para os desenvolvedores criarem uma cópia local de um repositório central, pois oferece uma maneira fácil de enviar pull de alterações de upstream ou publicar commits locais. Esse comportamento é também o motivo pelo qual a maioria dos projetos baseados em Git chama de origem o seu repositório central.
O comando git remote é um dos muitos comandos Git que têm "subcomandos" adicionais anexados. Abaixo, há uma verificação dos subcomandos git remote bastante usados.
Aceita uma opção -f, que vai fazer o git fetch assim que o registro remoto for criado.
Aceita uma opção --tags, que vai fazer o git fetch de imediato e importar cada marcador do repositório remoto.
Aceita --push, as URLs de envio, e não as de busca, são consultadas.
Com --all, todas as URLs para o remoto vão ser listadas.
Aceita uma opção --dry-run que vai listar quais ramificações são definidas como reduzidas, mas não vai fazer a redução de fato.
Além da origem, muitas vezes é conveniente ter uma conexão com os repositórios de seus colegas de equipe. Por exemplo, se seu colega de trabalho, John, mantém um repositório com acesso público em dev.example.com/john.git, você pode adicionar uma conexão da seguinte maneira:
Por padrão, o comando git remote vai listar as conexões remotas armazenadas antes para outros repositórios. Assim, vai produzir uma saída de linha única que lista os nomes de "marcador" de repositórios remotos.
Chamar git remote com a opção -v vai imprimir a lista de nomes de repositórios marcados e também a URL do repositório correspondente. A opção -v significa "verbose". Abaixo, há uma saída de exemplo da saída git remote detalhada.