Como renomear um repositório no GitHub?


317

Eu queria renomear um dos meus repositórios no GitHub, mas fiquei assustado quando um grande aviso vermelho disse:

  1. Não configuraremos nenhum redirecionamento a partir do local antigo
  2. Você precisará atualizar seus repositórios locais para apontar para o novo local
  3. A renomeação pode levar alguns minutos para ser concluída

Alguém tem instruções passo a passo sobre como realizar os nºs 1 e 2 manualmente? Ou o que tenho que fazer localmente?


7
Você não precisa mais atualizar seu reop local após renomear um repositório do Github. Veja minha resposta abaixo .
VonC

2
No Bitbucket, você acessa as configurações do repositório e altera o nome e, no computador local, também o altera no .git/configarquivo.
aliteralmind

1
Abra repositório -> Configurações -> Renomear
Kanagavelu Sugumar 4/15/15

Respostas:


339

Se você é a única pessoa que trabalha no projeto, não é um grande problema, porque você só precisa fazer o número 2.

Digamos que seu nome de usuário seja someusere seu projeto seja chamado someproject.

O URL do seu projeto será 1

git@github.com:someuser/someproject.git

Se você renomear seu projeto, ele mudará a someprojectparte da URL, por exemplo

git@github.com:someuser/newprojectname.git

(consulte a nota de rodapé se o seu URL não tiver esta aparência).

Sua cópia de trabalho do Git usa esse URL quando você faz um pushou pull.

Portanto, depois de renomear seu projeto, você precisará informar à sua cópia de trabalho o novo URL.

Você pode fazer isso em duas etapas:

Primeiro, cdno diretório Git local e descubra quais nomes remotos se referem a esse URL:

$ git remote -v
origin  git@github.com:someuser/someproject.git

Em seguida, defina o novo URL

$ git remote set-url origin git@github.com:someuser/newprojectname.git

Ou nas versões mais antigas do Git, você pode precisar de:

$ git remote rm origin
$ git remote add origin git@github.com:someuser/newprojectname.git

( originé o nome remoto mais comum, mas pode ser chamado de outra coisa.)

Mas se houver muitas pessoas trabalhando no seu projeto, todas elas precisarão executar as etapas acima, e talvez você nem saiba como entrar em contato com todas elas para contar. É disso que se trata o número 1.

Leitura adicional:

Notas de rodapé:

1 O formato exato do seu URL depende de qual protocolo você está usando, por exemplo


Obrigado pela sua resposta! Para o número 1, não tenho nenhuma página da web com links para o repositório. Então eu estou seguro? Para o número 2, o que exatamente está acontecendo lá? Obrigado!
rabbid

Adicionei mais informações sobre controles remotos que devem ajudar.
22611 Mikel

1
Minha saída para git remote -vestá no formulário git@github.com:someuser, a barra que você colocou aqui não funcionou para mim. Tudo o resto aqui fez, no entanto.
Droogans

Obrigado. Fixo. Ainda preciso encontrar uma maneira de mencionar URLs https e git.
10242 Mikel

3
Isso afetará as estatísticas do repo, como o número de estrelas?
Alex Naspo

132

Observe que desde maio de 2013 ("Os redirecionamentos de repositório estão aqui! "), Você pode renomear seu repositório do GitHub sem quebrar nenhum link:

Temos o prazer de anunciar que, a partir de hoje, redirecionaremos automaticamente todas as solicitações de locais de repositórios anteriores para sua nova casa nessas circunstâncias. Não há nada de especial que você precise fazer. Apenas renomeie e nós cuidaremos do resto.

Como um bônus especial, também atenderemos todas as solicitações de clone, busca e envio do Git de locais anteriores do repositório .

Isso significa que você nem precisa git remote set-url(alterar o URL do seu repositório remoto do GitHub) no seu repositório clonado local!
Embora Gabriel observe nos comentários que a página de ajuda oficial do GitHub recomenda fortemente que você faça isso:

Para reduzir a confusão, é altamente recomendável atualizar clones locais existentes para apontar para o novo URL do repositório. Você pode fazer isso usando o git remote na linha de comando:

git remote set-url origin new_url

Cuidado, porém:

Os sites das páginas do GitHub não são redirecionados automaticamente quando seus repositórios são renomeados no momento.
A renomeação de um repositório do Pages continuará quebrando os links existentes para o conteúdo hospedado nogithub.iodomínio ou domínios personalizados.

Além disso, o usuário ainda possui o espaço para nome : se ele criar um novo repositório usando o nome antigo do repositório renomeado, esse redirecionamento (para o referido repositório renomeado) deixará de funcionar.


4
Isso é realmente útil, mas inicialmente era muito confuso quando a renomeação não quebrou minha antiga atividade de push / pull. Agora eu posso mudar o nome imediatamente e deixar que todos saibam atualizar seus repositórios usando set-urlantes de determinada data. Após essa data, esmagarei o repositório de nomes antigos, criando um em branco com um bom arquivo leia-me "EU ADOREI U".
Cod3monk3y

Note-se que mesmo que você não tem que usar git remote set-urlpara atualizar um clone local existente para apontar para o novo URL do repositório, é altamente recomendável que você faça.
Gabriel

61

Renomeio o meu apenas simplesmente:

  1. indo para o github.com no meu repositório
  2. Abra a guia Configurações
  3. A primeira configuração que você pode ver é o "Nome do Repositório"
  4. Mude o atual e coloque o novo nome que você deseja dar ao seu repositório
  5. Clique em Renomear

Após esta etapa, o GitHub garantirá que seu repositório online corresponda ao nome da pasta local. Nesta etapa, seu problema está resolvido, a menos que você também queira renomear sua pasta local. Em seguida, faça-o manualmente e use o cliente Github para Windows para refazer o repositório novamente no disco rígido, e o Github fará a correspondência novamente. Isso é tudo! Muito simples.


1
É incrível como, não apenas as respostas altamente votadas aqui, mas as páginas de ajuda no github.com, eliminam a etapa de renomear no github.com através da guia Configurações.
user3673

16

A maneira mais simples que encontrei

  1. Acesse o link do seu repositório, por exemplo: - https://github.com/someuser/someRepo.git

  2. Clique na guia de configuração.

insira a descrição da imagem aqui

a primeira coisa que você pode ver é o nome do seu repo, você pode editá-lo.

Nota: - Se você clonou o repositório no local, altere o nome da pasta manualmente, isso é tudo.


10

Vejo muitos comentários positivos sobre as respostas que não considero precisas / completas.

Há duas coisas em mente:

  • Repositório remoto
  • Cópia local do repositório

Se você ainda não clonou seu repositório em sua máquina, basta renomear o repositório do Github e depois clonar o repositório para que você possa ter uma cópia local. Para renomear o repositório do Github, você só precisa:

  1. Vá para o site do repositório (por exemplo, https://github.com/userX/repositoryZ ).
  2. Na barra de navegação, você verá uma guia chamada "Configurações". Clique nisso.
  3. Basta editar o nome do repositório atual com o desejado e pressionar "Renomear".
  4. Clone o repositório como de costume (ou seja, git clone https://github.com/userX/repositoryU ).

Se você já possui uma cópia local do projeto , além de seguir as etapas acima, verifique se o repositório local (pasta raiz) foi renomeado corretamente e está apontando para o link correto do URL remoto :). Para conseguir isso, faça o seguinte:

  1. Convém usar o novo nome para seu repo. Para fazer isso, renomeie a pasta local usando a GUI do sistema operacional (Finder, Windows Explorer etc.) ou o console:

mv -R current-repo-name new-repo-name

  1. Mude o URL remoto. Na raiz da pasta, use o seguinte:

$ git remote set-url origin https://github.com/userX/repositoryU

ou

$ git remote set-url origin git@github.com:userX/repositoryU.git

O segundo passo não é obrigatório, no entanto. Há algum tempo, o Github anunciou que redirecionaria todas as solicitações de URLs de repositório anteriores para as atribuídas . Isso significa que você não precisa usá-lo $ git remote set-url ..., mas eles ainda o incentivam a fazê-lo para evitar confusão.

Espero que tenha ajudado. Se você tiver alguma dúvida ou a postagem não estiver clara o suficiente, entre em contato.


9

Esta resposta está agora obsoleta! O GitHub encaminhará para novos locais agora. Veja esta resposta para detalhes.


A razão pela qual esse aviso existe é porque o nº 1 não pode ser feito manualmente.

Se você é a única pessoa trabalhando e se vinculando ao repositório, poderá alterar o controle remoto em seu repositório local e em suas páginas da web.

No entanto, o motivo de ter um repositório público no github em primeiro lugar é que você pode fazer com que outras pessoas clonem seu repositório e vinculem à sua página de projeto do github.


O URL antigo github.com/<username>/<repository>pertence ao github. Quando eles não configuram nenhum redirecionamento para o novo URL, ninguém pode. Então as coisas vão acabar para todos, exceto para as pessoas que você está dizendo.

Quão grande é um problema, depende de você. Se você possui uma página oficial do projeto em um servidor diferente, o URL do github pode não ser muito problemático. Se você anunciou seu projeto com o URL do github em listas de discussão e diretórios, provavelmente não deve alterar o nome do repo.


Uma alternativa para alterar o nome do repositório é criar um novo repositório e deixar anotações no antigo (também confirmado no repositório) sobre como alcançar seu novo repositório.

Se você não deseja que seu novo repo seja listado como um fork do seu repo antigo, é necessário criar uma nova conta no github. Você pode adicionar sua outra conta como colaborador para os dois repositórios.


6

É importante notar que, se você bifurcar um projeto do GitHub e renomear a cópia recém-gerada, o novo nome aparecerá no gráfico de rede de membros do projeto pai. O relacionamento complementar também é preservado. Isso deve abordar quaisquer reservas associadas ao primeiro ponto da pergunta original relacionadas a redirecionamentos, ou seja, você ainda pode chegar aqui a partir daí, por assim dizer. Eu também estava hesitante por causa da irrevogabilidade implícita no aviso, então espero que isso salve outros que demoram.


Você não pode bifurcar seu próprio projeto no github. Então você precisa usar outra conta, mas isso funcionaria.
perfil completo de Jonny JD

Eu fui para uma organização, então acho que é o mesmo que usar outra conta. Tenho certeza que você está correto.
Neil Best

Você pode criar um novo repositório vazio. Clone o repositório antigo. Adicione uma referência remota ao seu novo repositório. E então empurre os ramos que você deseja para o novo repositório (por exemplo, mestre). Eu acho que isso seria um garfo parcial.
Darrel Lee

6
  • Navegue para o caminho do seu repositório.
  • Clique no botão de configuração , que está no painel direito.
  • Substitua o nome antigo do repositório pelo novo nome.
  • Clique no botão Renomear

3

Esta solução é para aqueles usuários que usam a área de trabalho do GitHub.

  1. Renomeie seu repositório da configuração no GitHub.com

  2. Agora, na área de trabalho, clique em sincronizar.

Feito.


é estranho que uma característica tão básica não seria encontrada no próprio aplicativo
svarog

1
  1. abra este URL ( https://github.com/ ) no seu navegador

  2. Vá para repositórios no lado direito da página

  3. Abra o link do repositório que você deseja renomear

  4. clique em Configurações (você encontrará na barra de navegação)

  5. No topo, você encontrará uma caixa chamada (nome do repositório), onde você escreve o novo nome

  6. Pressione Renomear


0

Eu tentei renomear o repositório na página da web:

  1. Clique no topo das páginas certas que é o seu avatar.
  2. você pode olhar o ícone de setting, clicar nele e, em seguida, pode encontrar o Repositoriesitem abaixo Personal setting.
  3. clique no Repositoriese insira seus diretórios de Repositórios, escolha o Repositório que deseja renomear.
  4. Então você entrará no Repositório escolhido e encontrará o ícone de settingé adicionado à linha superior, basta clicar nele e inserir o novo nome e, em seguida, clicar Rename.

Feito, tão fácil.


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.