Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Gerenciar repositórios remote

Aprenda a trabalhar com seus repositórios locais no seu computador e repositórios remotos hospedados no GitHub Enterprise Server.

Adicionar um repositório remoto

Para adicionar um novo controle remoto, use o comando git remote add no terminal, no diretório em que o repositório está armazenado.

O comando git remote add usa dois argumentos:

  • Um nome de repositório remoto, por exemplo, origin
  • Uma URL remota, por exemplo, https://[hostname]/OWNER/REPOSITORY.git

Por exemplo:

$ git remote add origin https://HOSTNAME/OWNER/REPOSITORY.git
# Set a new remote

$ git remote -v
# Verify new remote
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Para obter mais informações sobre a URL que deve ser usada, confira "Sobre repositórios remote".

Solução de problemas: A origem remota já existe

Esse erro significa que você tentou adicionar um remoto com um nome que já existe no repositório local.

$ git remote add origin https://HOSTNAME/octocat/Spoon-Knife.git
> fatal: remote origin already exists.

Para corrigir isso, você pode:

  • Usar um nome diferente para o novo remoto
  • Renomeie o repositório remoto existente antes de adicionar o novo repositório remoto. Para obter mais informações, confira "Renomear um repositório remoto" abaixo.
  • Exclua o repositório remoto existente antes de adicionar o novo repositório remoto. Para obter mais informações, confira "Remover um repositório remoto" abaixo.

Alterar a URL de um repositório remoto

O comando git remote set-url altera uma URL do repositório remoto existente.

Dica: para obter informações sobre a diferença entre URLs HTTPS e SSH, confira "Sobre repositórios remote".

O comando git remote set-url usa dois argumentos:

  • Um nome remote existente. Por exemplo, origin ou upstream são duas opções comuns.
  • Uma nova URL para o remote. Por exemplo:
    • Se estiver atualizando para usar HTTPS, a URL poderá ser parecida com esta:
      https://[hostname]/OWNER/REPOSITORY.git
    • Se estiver atualizando para usar SSH, a URL poderá ser parecida com esta:
      git@HOSTNAME:OWNER/REPOSITORY.git

Alternar URLs remotes de SSH para HTTPS

  1. Abra TerminalTerminalGit Bash.
  2. Altere o diretório de trabalho atual para seu projeto local.
  3. Liste seus remotes existentes para obter o nome do remote que deseja alterar.
    $ git remote -v
    > origin  git@HOSTNAME:OWNER/REPOSITORY.git (fetch)
    > origin  git@HOSTNAME:OWNER/REPOSITORY.git (push)
  4. Altere a URL do repositório remoto do SSH para HTTPS com o comando git remote set-url.
    $ git remote set-url origin https://HOSTNAME/OWNER/REPOSITORY.git
  5. Verifique se o URL remote foi alterado.
    $ git remote -v
    # Verify new remote URL
    > origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
    > origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Na próxima vez que você usar git fetch, git pull ou git push para o repositório remoto, deverá fornecer seu nome de usuário e senha do GitHub. Quando o Git solicitar sua senha, insira seu personal access token. Como alternativa, você pode usar um auxiliar de credencial como o Gerenciador de Credenciais do Git. A autenticação baseada em senha do Git foi removida para dar lugar a métodos de autenticação mais seguros. Para obter mais informações, confira "Criar um personal access token".

É possível usar um auxiliar de credencial para que o Git se lembre do nome de usuário do GitHub e do personal access token toda vez que se comunicar com o GitHub.

Mudar as URLs remotas de HTTPS para SSH

  1. Abra TerminalTerminalGit Bash.
  2. Altere o diretório de trabalho atual para seu projeto local.
  3. Liste seus remotes existentes para obter o nome do remote que deseja alterar.
    $ git remote -v
    > origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
    > origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)
  4. Altere a URL do seu remoto de HTTPS para SSH com o comando git remote set-url.
    $ git remote set-url origin git@HOSTNAME:OWNER/REPOSITORY.git
  5. Verifique se o URL remote foi alterado.
    $ git remote -v
    # Verify new remote URL
    > origin  git@HOSTNAME: OWNER/REPOSITORY.git (fetch)
    > origin  git@HOSTNAME: OWNER/REPOSITORY.git (push)

Solução de problemas: Não há tal '[name]' remoto '

Este erro informa que o remote que você tentou alterar não existe:

$ git remote set-url sofake https://HOSTNAME/octocat/Spoon-Knife
> fatal: No such remote 'sofake'

Verifique se você inseriu corretamente o nome do remote.

Renomear um repositório remoto

Use o comando git remote rename para renomear um remoto existente.

O comando git remote rename usa dois argumentos:

  • Um nome remoto existente, por exemplo, origin
  • Um novo nome para o remoto, por exemplo, destination

Exemplo de como renomear um repositório remoto

Esses exemplos pressupõem que você esteja clonando usando HTTPS, o que é recomendado.

$ git remote -v
# View existing remotes
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

$ git remote rename origin destination
# Change remote name from 'origin' to 'destination'

$ git remote -v
# Verify remote's new name
> destination  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> destination  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Solução de problemas: Não foi possível renomear a seção de configuração 'remote.[old name]' para 'remote.[new name]'

Este erro significa que o nome remoto antigo digitado não existe.

Você pode verificar quais remotos existem atualmente com o comando git remote -v:

$ git remote -v
# View existing remotes
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Solução de problemas: Já existe um [new name] remoto

Esse erro informa que o nome de remote que você deseja usar já existe. Para resolver isso, use um nome remoto diferente ou renomeie o remoto original.

Remover um repositório remoto

Use o comando git remote rm para remover uma URL remota do repositório.

O comando git remote rm usa um argumento:

  • Um nome de repositório remoto, por exemplo, destination

A remoção do URL remoto do repositório apenas desvincula os repositórios locais e remotos. Isso não exclui o repositório remoto.

Exemplo de como remover um repositório remoto

Esses exemplos pressupõem que você esteja clonando usando HTTPS, o que é recomendado.

$ git remote -v
# View current remotes
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)
> destination  https://HOSTNAME/FORKER/REPOSITORY.git (fetch)
> destination  https://HOSTNAME/FORKER/REPOSITORY.git (push)

$ git remote rm destination
# Remove remote
$ git remote -v
# Verify it's gone
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (fetch)
> origin  https://HOSTNAME/OWNER/REPOSITORY.git (push)

Observação: git remote rm não exclui o repositório remoto do servidor. Ele simplesmente remove o remoto e suas referências do repositório local.

Solução de problemas: Não foi possível remover a seção 'remote.[name]'

Esse erro informa que o remote que você tentou excluir não existe:

$ git remote rm sofake
> error: Could not remove config section 'remote.sofake'

Verifique se você inseriu corretamente o nome do remote.

Leitura adicional