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
ouupstream
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
- Se estiver atualizando para usar HTTPS, a URL poderá ser parecida com esta:
Alternar URLs remotes de SSH para HTTPS
- Abra TerminalTerminalGit Bash.
- Altere o diretório de trabalho atual referente ao seu projeto local.
- 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)
- 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
- 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
- Abra TerminalTerminalGit Bash.
- Altere o diretório de trabalho atual referente ao seu projeto local.
- 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)
- 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
- 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.