Skip to main content

Gerenciar repositórios remotos

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 remoto, use o comando adicionar remoto do git no terminal do diretório no qual seu repositório está armazenado.

O comando git remote add usa dois argumentos:

  • Um nome de remote, por exemplo, origin
  • Uma URL remota, por exemplo https://[hostname]/user/repo.git

Por exemplo:

$ git remote add origin https://hostname/user/repo.git
# Defina um novo remote

$ git remote -v
# Verifique  o novo remote
> origin  https://hostname/user/repo.git (fetch)
> origin  https://hostname/user/repo.git (push)

Para obter mais informações sobre qual URL usar, consulte "Sobre repositórios remotos".

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

Esse erro significa que você tentou adicionar um remote 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, é possível:

  • Usar um nome diferente para o novo remote.
  • Renomeie o repositório remoto existente antes de adicionar o novo repositório remoto. Para obter mais informações, consulte "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, consulte "Removendo um repositório remoto" abaixo.

Alterar a URL de um repositório remoto

O comando git remote set-url altera a URL de um repositório remoto existente.

Dica: Para obter informações sobre a diferença entre as URLs de HTTPS e SSH, consulte "Sobre repositórios remotos".

O comando git remote set-url usa dois argumentos:

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

Alternar URLs remotes de SSH para HTTPS

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

Na próxima vez que você aplicar git fetch, git pull ou git push no repositório remote, precisará fornecer seu nome de usuário e a senha do GitHub. When Git prompts you for your password, enter your personal access token (PAT). Alternatively, you can use a credential helper like Git Credential Manager. Password-based authentication for Git has been removed in favor of more secure authentication methods. For more information, see "Creating a personal access token."

Você pode usar um auxiliar de credenciais para que o Git lembre seu nome de usuário e token de acesso pessoal toda vez que conversar com o GitHub.

Mudar as URLs remotas de HTTPS para SSH

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

O comando git remote rename tem dois argumentos:

  • O nome de um remote existente, como origin
  • Um novo nome para o remote, como destination

Exemplo

Estes exemplos supõem que você está clonando usando HTTPS, que é o método recomendado.

$ git remote -v
# Consulta os remotes existentes
> origin  https://hostname/OWNER/REPOSITORY.git (fetch)
> origin  https://hostname/OWNER/REPOSITORY.git (push)

$ git remote rename origin destination
# Altera o nome do remote de 'origin' para 'destination'

$ git remote -v
# Confirma o novo nome do remote
> 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 consultar os remotes existentes no momento com o comando git remote -v:

$ git remote -v
# Consulta os remotes existentes
> 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 seu repositório.

O comando git remote rm tem um argumento:

  • O nome de um remote, como 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

Estes exemplos supõem que você está clonando usando HTTPS, que é o método recomendado.

$ git remote -v
# Ver remotes atuais
> 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
# Remover remote
$ git remote -v
# Confirmar a remoção
> origin  https://hostname/OWNER/REPOSITORY.git (fetch)
> origin  https://hostname/OWNER/REPOSITORY.git (push)

Observação: o comando git remote rm não exclui o repositório do remote no servidor. Ele simplesmente remove o remote 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.

Leia mais