Jak zmienić nazwę repozytorium w GitHub?

317

Chciałem zmienić nazwę jednego z moich repozytoriów w serwisie GitHub, ale przestraszyłem się, gdy pojawiło się duże czerwone ostrzeżenie:

  1. Nie będziemy ustawiać żadnych przekierowań ze starej lokalizacji
  2. Musisz zaktualizować lokalne repozytoria, aby wskazywały nową lokalizację
  3. Zmiana nazwy może potrwać kilka minut

Czy ktoś ma instrukcje krok po kroku, jak ręcznie wykonać # 1 i # 2? Lub co muszę zrobić lokalnie?

królik
źródło
7
Nie musisz już aktualizować lokalnego restartu po zmianie nazwy repozytorium Github. Zobacz moją odpowiedź poniżej .
VonC
2
W Bitbucket przejdź do ustawień repozytorium i zmień nazwę, a następnie na komputerze lokalnym zmień ją również w .git/configpliku.
aliteralmind
1
Otwórz Repo -> Ustawienia -> Zmień nazwę
Kanagavelu Sugumar

Odpowiedzi:

339

Jeśli jesteś jedyną osobą pracującą nad projektem, nie jest to duży problem, ponieważ musisz tylko zrobić # 2.

Powiedzmy, że twoja nazwa użytkownika to someuseri projekt się nazywa someproject.

Wówczas adres URL twojego projektu będzie wynosił 1

[email protected]:someuser/someproject.git

Jeśli zmienisz nazwę swojego projektu, zmieni on someprojectczęść adresu URL, np

[email protected]:someuser/newprojectname.git

(patrz przypis, jeśli Twój URL nie wygląda tak).

Twoja robocza kopia Git używa tego adresu URL, gdy wykonujesz pushlub pull.

Dlatego po zmianie nazwy projektu musisz podać kopii roboczej nowy adres URL.

Możesz to zrobić w dwóch krokach:

Po pierwsze, cddo lokalnego katalogu Git i dowiedz się, jakie zdalne nazwy odnoszą się do tego adresu URL:

$ git remote -v
origin  [email protected]:someuser/someproject.git

Następnie ustaw nowy adres URL

$ git remote set-url origin [email protected]:someuser/newprojectname.git

Lub w starszych wersjach Gita możesz potrzebować:

$ git remote rm origin
$ git remote add origin [email protected]:someuser/newprojectname.git

(origin jest najczęstszą zdalną nazwą, ale można ją nazwać inną nazwą).

Ale jeśli wiele osób pracuje nad twoim projektem, wszyscy będą musieli wykonać powyższe kroki, a może nawet nie wiesz, jak się z nimi skontaktować, aby im powiedzieć. Właśnie o to chodzi # 1.

Dalsza lektura:

Przypisy:

1 Dokładny format adresu URL zależy od używanego protokołu, np

Mikel
źródło
Dzięki za odpowiedź! W przypadku nr 1 nie mam żadnych stron internetowych, które prowadzą do repozytorium. Więc jestem bezpieczny? Co się dokładnie dzieje w przypadku nr 2? Dzięki!
rabbid
Dodałem więcej informacji o pilotach, które powinny pomóc.
Mikel
1
Moje dane wyjściowe git remote -vsą w formie [email protected]:someuser, ukośnik, który tu umieściłeś, nie działał dla mnie. Ale wszystko inne tutaj zrobiło.
Droogany,
Dzięki. Naprawiony. Nadal muszę znaleźć sposób na podanie adresów URL https i git.
Mikel
3
Czy wpłynie to na statystyki repo, jak liczba gwiazd?
Alex Naspo,
132

Pamiętaj, że od maja 2013 r. („ Przekierowania repozytorium są tutaj! ”) Możesz zmienić nazwę repozytorium GitHub bez przerywania jakichkolwiek linków:

Z przyjemnością informujemy, że od dziś automatycznie przekierujemy wszystkie żądania dotyczące poprzednich lokalizacji repozytorium do ich nowego domu w takich okolicznościach. Nie musisz nic specjalnego robić. Po prostu zmień nazwę, a my zajmiemy się resztą.

Jako specjalny bonus będziemy także obsługiwać wszystkie żądania klonowania, pobierania i wypychania Git z poprzednich lokalizacji repozytorium .

Oznacza to, że nawet nie musisz git remote set-url(zmieniać adresu URL zdalnego repozytorium GitHub) na lokalnym klonowanym repozytorium!
Chociaż Gabriel zauważa w komentarzach, że oficjalna strona pomocy GitHub zdecydowanie zaleca to zrobić:

Aby zmniejszyć zamieszanie, zdecydowanie zalecamy aktualizację istniejących klonów lokalnych, aby wskazywały nowy adres URL repozytorium. Możesz to zrobić za pomocą git remote w wierszu poleceń:

git remote set-url origin new_url

Uważaj jednak:

Witryny GitHub Pages nie są automatycznie przekierowywane, gdy ich repozytoria zostaną w tej chwili zmienione.
Zmiana nazwy repozytorium Strony będzie nadal przerywać wszelkie istniejące łącza do treści hostowanych wgithub.iodomenie lub domenach niestandardowych.

Ponadto użytkownik nadal jest właścicielem przestrzeni nazw : jeśli utworzy nowe repozytorium przy użyciu starej nazwy repozytorium o zmienionej nazwie, przekierowanie (dla wymienionego repozytorium o zmienionej nazwie) przestanie działać.

VonC
źródło
4
Jest to bardzo przydatne, ale początkowo było bardzo mylące, gdy zmiana nazwy nie zepsuła mojej starej aktywności push / pull. Teraz mogę natychmiast zmienić nazwę i poinformować wszystkich, aby zaktualizowali swoje repozytoria set-urlprzed upływem określonej daty. Po tej dacie zniszczę stare repozytorium nazw, tworząc puste z ładnym plikiem Readme „I WARNED U”.
cod3monk3y
Zauważ, że nawet jeśli nie musisz używać git remote set-urldo aktualizacji istniejącego lokalnego klonu, aby wskazać nowy adres URL repozytorium, zdecydowanie zalecamy to zrobić.
Gabriel
61

Zmieniam nazwę po prostu przez:

  1. wchodzę na github.com w moim repozytorium
  2. Otwórz kartę Ustawienia
  3. Pierwsze ustawienie, które możesz zobaczyć, to „Nazwa repozytorium”
  4. Zmień rzeczywistą i umieść w repozytorium nową nazwę, którą chcesz nadać
  5. Kliknij Zmień nazwę

Po tym kroku GitHub upewni się, że Twoje repozytorium online jest zgodne z nazwą folderu lokalnego. Na tym etapie problem został rozwiązany, chyba że chcesz również zmienić nazwę folderu lokalnego. Następnie zrób to ręcznie i po prostu użyj klienta Github dla systemu Windows, aby ponownie odświeżyć swoje repozytorium na dysku twardym, a Github ponownie go dopasuje. To wszystko! Bardzo prosta.

pollux1er
źródło
1
To niesamowite, że nie tylko wysoko głosowane odpowiedzi tutaj, ale strony pomocy na github.com pomijają krok zmiany nazwy na github.com za pomocą karty ustawień.
user3673
16

Najprostszy sposób, jaki znalazłem

  1. Przejdź do linku repo, na przykład: - https://github.com/someuser/someRepo.git

  2. Kliknij kartę ustawień.

wprowadź opis zdjęcia tutaj

pierwszą rzeczą, którą możesz zobaczyć, jest nazwa repozytorium, którą możesz edytować.

Uwaga: - Jeśli sklonowałeś repo na komputerze lokalnym, zmień ręcznie jego nazwę folderu, to wszystko.

Rajnish Rajput
źródło
10

Widzę wiele pozytywnych opinii na temat odpowiedzi, których w ogóle nie uważam za dokładne / kompletne.

Należy pamiętać o dwóch rzeczach:

  • Zdalne repozytorium
  • Lokalna kopia repozytorium

Jeśli jeszcze nie sklonowałeś swojego repozytorium na swoim komputerze, musisz po prostu zmienić nazwę repozytorium Github, a następnie kontynuować klonowanie repozytorium, aby mieć lokalną kopię. Aby zmienić nazwę repozytorium Github, wystarczy:

  1. Przejdź do strony repozytorium (tj. Https://github.com/userX/repositoryZ ).
  2. Na pasku nawigacyjnym zobaczysz zakładkę o nazwie „Ustawienia”. Kliknij na to.
  3. Po prostu edytuj nazwę bieżącego repozytorium za pomocą żądanej i naciśnij „Zmień nazwę”.
  4. Sklonuj repozytorium jak zwykle (tj. Git clone https://github.com/userX/repositoryU ).

Jeśli masz już lokalną kopię projektu , oprócz wykonania powyższych kroków, musisz upewnić się, że nazwa twojego lokalnego repozytorium (folderu głównego) została poprawnie zmieniona i że wskazuje on odpowiedni zdalny adres URL :). Aby to osiągnąć, wykonaj następujące czynności:

  1. Możesz użyć nowej podanej nazwy dla swojego repozytorium. Aby to zrobić, zmień nazwę folderu lokalnego albo za pomocą GUI systemu operacyjnego (Finder, Eksplorator Windows itp.) Lub konsoli:

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

  1. Zmień zdalny adres URL. Z katalogu głównego folderu użyj następujących poleceń:

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

lub

$ git remote set-url origin [email protected]:userX/repositoryU.git

Drugi krok nie jest jednak obowiązkowy. Github ogłosił jakiś czas temu, że przekieruje wszystkie żądania z poprzednich adresów URL repozytorium do przypisanych . Oznacza to, że nie musisz używać $ git remote set-url ..., ale nadal zachęcają cię do tego, aby uniknąć zamieszania.

Mam nadzieję, że to pomogło. Jeśli masz jakieś pytania lub post nie jest wystarczająco jasny, daj mi znać.

cesards
źródło
9

Ta odpowiedź jest już nieaktualna! GitHub będzie teraz przekazywał nowe lokalizacje. Zobacz tę odpowiedź, aby uzyskać szczegółowe informacje.


Powodem tego jest to, że nr 1 nie można wykonać ręcznie.

Jeśli jesteś jedyną osobą pracującą nad repozytorium i łączącą się z nim, możesz zmienić pilota w lokalnym repozytorium i na swoich stronach internetowych.

Powodem posiadania publicznego repozytorium na github jest jednak to, że inni mogą klonować twoje repozytorium i linkować do strony projektu github.


Stary adres URL github.com/<username>/<repository>jest własnością github. Gdy nie skonfigurują żadnych przekierowań do nowego adresu URL, nikt nie może. Więc wszystko się załamie, z wyjątkiem osób, które mówisz.

Ale jak duży jest to problem, zależy od ciebie. Jeśli masz oficjalną stronę projektu na innym serwerze, adres github może nie stanowić większego problemu. Jeśli reklamowałeś swój projekt za pomocą adresu URL github w listach mailowych i katalogach, prawdopodobnie nie powinieneś zmieniać nazwy repo.


Alternatywą dla zmiany nazwy repo jest utworzenie nowego repozytorium i pozostawienie notatek w starym (także jako zatwierdzonych w repozytorium) na temat tego, jak dotrzeć do nowego repo.

Jeśli nie chcesz, aby nowe repozytorium znalazło się na liście starych repozytoriów, musisz utworzyć nowe konto github. Możesz dodać swoje inne konto jako współpracownika dla obu repozytoriów.

JonnyJD
źródło
6

Warto zauważyć, że jeśli rozwidlisz projekt GitHub, a następnie zmienisz nazwę nowo odrodzonej kopii, nowa nazwa pojawi się na grafie sieci członków projektu nadrzędnego. Zachowany jest również związek komplementarny. Powinno to zająć się wszelkimi zastrzeżeniami związanymi z pierwszym punktem pierwotnego pytania dotyczącego przekierowań, tj. Nadal można się stąd dostać, że tak powiem. Ja również wahałem się z powodu nieodwołalności wynikającej z ostrzeżenia, więc mam nadzieję, że uratuje to inne opóźnienie.

Neil Best
źródło
Nie możesz rozwidlać własnego projektu na github. Musisz więc użyć innego konta, ale to zadziała.
JonnyJD,
Rozwinąłem się do organizacji, więc myślę, że to samo, co przy użyciu innego konta. Jestem pewien, że masz rację.
Neil Best
Możesz utworzyć nowe puste repozytorium. Sklonuj stare repozytorium. Dodaj zdalne odniesienie do nowego repozytorium. A następnie wepchnij gałęzie, które chcesz, do nowego repozytorium (np. Master). Myślę, że to byłby częściowy rozwidlenie.
Darrel Lee
6
  • Przejdź do ścieżki repozytorium.
  • Kliknij przycisk ustawień , który znajduje się w prawym panelu.
  • Zastąp starą nazwę repozytorium nową nazwą.
  • Kliknij przycisk Zmień nazwę
reshma
źródło
3

To rozwiązanie jest dla tych użytkowników, którzy korzystają z pulpitu GitHub.

  1. Zmień nazwę repozytorium z ustawień na GitHub.com

  2. Teraz na pulpicie kliknij synchronizację.

Gotowy.

Faiyaz Alam
źródło
to dziwne, że takiej podstawowej funkcji nie można znaleźć w samej aplikacji
svarog
1
  1. otwórz ten adres URL ( https://github.com/ ) w przeglądarce

  2. Przejdź do repozytoriów na prawym końcu strony

  3. Otwórz link do repozytorium, którego nazwę chcesz zmienić

  4. kliknij Ustawienia (znajdziesz na pasku nawigacyjnym)

  5. U góry znajdziesz pole Called (nazwa repozytorium), w którym wpisujesz nową nazwę

  6. Naciśnij Zmień nazwę

pogromca kamal
źródło
0

Próbowałem zmienić nazwę repozytorium na stronie internetowej:

  1. Kliknij u góry po prawej stronie, że jest to twój awatar.
  2. możesz spojrzeć na ikonę setting, kliknąć ją, a następnie znaleźć Repositoriespod Personal setting.
  3. kliknij Repositoriesi wprowadź swoje katalogi repozytoriów, wybierz repozytorium, którego nazwę chcesz zmienić.
  4. Następnie wejdziesz do wybranego repozytorium i zobaczysz, że ikona settingjest dodana do górnego wiersza, po prostu kliknij ją i wprowadź nową nazwę, a następnie kliknij Rename.

Zrobione, takie łatwe.

Jian Shu
źródło
-4

Proste rozwiązanie:

1) Otwórz adres projektu: https://github.com/someuser/project-name
2) u góry, obok nazwy projektu kliknij EDYTUJ

T.Todua
źródło
5
Nie ma takiego przycisku
douglaslps,