Як перейменувати сховище в GitHub?


317

Я хотів перейменувати одне зі своїх сховищ на GitHub, але я злякався, коли велике червоне попередження сказало:

  1. Ми не будемо встановлювати переадресації зі старого місця розташування
  2. Вам потрібно буде оновити локальні сховища, щоб вказати на нове місце
  3. Перейменування може зайняти кілька хвилин

Хтось має покрокові інструкції, як виконати №1 та №2 вручну? Або що мені робити місцево?


7
Вам більше не потрібно оновлювати локальну версію після перейменування Github. Дивіться мою відповідь нижче .
VonC

2
У Bitbucket ви переходите до налаштувань сховища та змінюєте ім'я, а потім на своєму локальному комп'ютері змінюєте його також у .git/configфайлі.
aliteralmind

1
Відкрити Repo -> Налаштування -> Перейменувати
Kanagavelu Sugumar

Відповіді:


339

Якщо ви єдина людина, яка працює над проектом, це не є великою проблемою, адже ви повинні робити лише №2.

Припустимо, ваше ім'я користувача someuserта ваш проект називається someproject.

Тоді URL вашого проекту буде 1

git@github.com:someuser/someproject.git

Якщо ви перейменовуєте проект, він змінить someprojectчастину URL-адреси, наприклад

git@github.com:someuser/newprojectname.git

(див. виноску, якщо ваша URL-адреса не виглядає так).

Ваша робоча копія Git використовує цю URL-адресу, коли ви робите pushабо pull.

Тож після того, як ви перейменовуєте проект, вам доведеться повідомити своїй робочій копії нову URL-адресу.

Це можна зробити в два етапи:

По-перше, cdу ваш локальний каталог Git та дізнайтеся, які віддалені імена посилаються на цю URL-адресу:

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

Потім встановіть нову URL-адресу

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

Або в старих версіях Git вам може знадобитися:

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

( originнайпоширеніше віддалене ім’я, але його можна назвати чимось іншим.)

Але якщо є багато людей, які працюють над вашим проектом, всі вони повинні будуть виконати вищезазначені кроки, і, можливо, ви навіть не знаєте, як зв’язатися з ними, щоб сказати їм. Саме про це йдеться №1.

Подальше читання:

Виноски:

1 Точний формат вашої URL-адреси залежить від протоколу, який ви використовуєте, наприклад


Спасибі за Вашу відповідь! Для №1 у мене немає веб-сторінок, які посилаються на репо. Так я в безпеці? Що для №2, що саме там відбувається? Дякую!
шалений

Я додав більше інформації про пульти, які повинні допомогти.
Мікель

1
Мій висновок за git remote -vформою git@github.com:someuser, нахил, який ви поставили сюди, не працював для мене. Все інше тут все-таки зробило.
Droogans

Дякую. Виправлено. Я все ще мушу знайти спосіб згадати https та git URL-адреси.
Мікель

3
Чи вплине це на статистику репо як кількість зірок?
Алекс Наспо

132

Зауважте, що з травня 2013 року (" переспрямовування сховища тут! ") Ви можете перейменувати репортаж у GitHub, не порушуючи жодних посилань:

Ми раді повідомити, що починаючи з цього дня, ми автоматично переспрямовуємо всі запити попередніх місць сховища до їхнього нового будинку за цих обставин. Нічого особливого вам не потрібно робити. Просто перейменуйте подалі, і ми подбаємо про інше.

Як особливий бонус, ми також будемо обслуговувати всі клони Git, витягувати та надсилати запити з попередніх місць сховища .

Це означає, що вам навіть не доведеться git remote set-url(міняти URL-адресу віддаленого репортажу GitHub) на локальному клонованому репо!
Хоча Габріель зазначає в коментарі , що офіційна сторінка допомоги GitHub настійно рекомендує зробити так:

щоб зменшити плутанину, ми настійно рекомендуємо оновити будь-які існуючі локальні клони, щоб вказати на нову URL-адресу сховища. Це можна зробити, використовуючи git remote у командному рядку:

git remote set-url origin new_url

Але будьте обережні:

Сайти GitHub Pages не переадресовуються автоматично, коли їх сховища перейменовані в цей час.
Перейменування сховища сторінок надалі буде порушувати будь-які існуючі посилання на вміст, розміщений уgithub.ioдомені чи на власні домени.

Крім того, користувач все ще володіє простором імен : якщо він / вона створить нове репо, використовуючи стару назву перейменованого репо, це перенаправлення (для зазначеного перейменованого репо) припинить роботу.


4
Це дійсно корисно, але спочатку було дуже заплутаним, коли перейменування не порушило мою стару активність "push / pull". Тепер я можу змінити ім'я негайно і дозволити всім іншим оновити свої сховища, використовуючи set-urlдо певної дати. Після цієї дати я розберу стару назву repo, створивши порожній файл із приємним файлом readme "I WARNED U".
cod3monk3y

Зауважте, що хоч вам і не потрібно використовувати git remote set-urlдля оновлення наявного локального клону, щоб вказати на нову URL-адресу сховища, настійно рекомендуємо це зробити.
Габріель

61

Я перейменую свій власний просто:

  1. перейти на github.com у моєму сховищі
  2. Відкрийте вкладку "Налаштування"
  3. Перше налаштування, яке ви можете побачити, - це "Назва сховища"
  4. Змініть фактичну та введіть нове ім’я, яке ви хочете дати своєму сховищу
  5. Клацніть на Перейменувати

Після цього кроку GitHub переконається, що ваше онлайн-сховище відповідає вашому імені локальної папки. На цьому кроці ваша проблема вирішена, якщо ви також не хочете перейменувати свою локальну папку. Потім зробіть це вручну і просто скористайтеся клієнтом Github для Windows, щоб знову зафіксувати ваш сховище на вашому жорсткому диску, і Github повторить його. Це все! Дуже просто.


1
Дивовижно, як не тільки голосовані відповіді тут, але й довідкові сторінки на github.com ухиляються від кроку перейменування на github.com через вкладку налаштувань.
user3673

16

Найпростіший спосіб, який я знайшов

  1. Наприклад, перейдіть до свого посилання на репо: https://github.com/someuser/someRepo.git

  2. Перейдіть на вкладку налаштувань.

введіть тут опис зображення

Перше, що ви можете побачити - це ім'я репо, ви можете це відредагувати.

Примітка: - Якщо ви клонували репо на локальному рівні, змініть ім'я папки вручну, це все.


10

Я бачу багато позитивних відгуків на відповіді, які я взагалі не знаю точними / повними.

Майте на увазі дві речі:

  • Віддалене сховище
  • Локальна копія сховища

Якщо ви ще не клонували репо в своїй машині, вам просто потрібно перейменувати сховище Github і потім перейти до клонування репо, щоб у вас була локальна копія. Для того, щоб перейменувати рето Github, вам потрібно:

  1. Перейти на сайт сховища (тобто https://github.com/userX/repositoryZ ).
  2. На панелі навігації ви побачите вкладку «Налаштування». Натисніть на нього.
  3. Просто відредагуйте поточну назву сховища потрібним і натисніть "Перейменувати".
  4. Клоніруйте сховище як зазвичай (тобто git clone https://github.com/userX/repositoryU ).

Якщо у вас вже є локальна копія проекту , окрім виконання вищезазначених кроків, вам потрібно переконатися, що ваш локальний сховище (коренева папка) перейменовано правильно та вказує на правильне віддалене посилання url :). Щоб цього досягти, виконайте наступне:

  1. Можливо, ви хочете використовувати нове ім'я для репо. Для цього перейменуйте локальну папку або за допомогою GUI ОС (Finder, Windows Explorer тощо) або консолі:

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

  1. Змініть віддалений URL. З кореня папки використовуйте наступне:

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

або

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

Другий крок не є обов'язковим. Github оголосив деякий час назад , що вони будуть перенаправляти всі запити від попередніх адрес сховища для призначених з них . Це означає, що вам не потрібно користуватися $ git remote set-url ..., але вони все ще заохочують це робити, щоб уникнути плутанини.

Сподіваюся, це допомогло. Якщо у вас є якісь питання або публікація недостатньо зрозуміла, повідомте мене.


9

Ця відповідь застаріла! GitHub зараз перейде на нові місця. Детальну інформацію див. У цій відповіді .


Причина цього попередження в тому, що номер 1 неможливо зробити вручну.

Якщо ви єдина людина, яка працює над посиланням на сховище та маєте посилання на нього, тоді ви добре змінюєте пульт дистанційного керування у місцевому репо-ренепі та на своїх веб-сторінках.

Однак причиною створення публічного сховища в github в першу чергу є те, що ви можете мати інших, хто клонував ваше сховище та посилався на вашу сторінку проекту github.


Старий URL github.com/<username>/<repository>належить github. Коли вони не встановлюють переспрямування на новий URL, ніхто не може. Таким чином, все порушиться для всіх, окрім осіб, про яких ви кажете.

Наскільки велика проблема, яка є, залежить від вас. Якщо у вас є офіційна сторінка проекту на іншому сервері, URL-адреса github може не мати великої проблеми. Якщо ви рекламували свій проект із URL-адресою github у списках розсилки та каталогах, ви, ймовірно, не повинні змінювати назву репо.


Альтернативою зміні назви repo є створення нового сховища та залишення приміток у старому (також як комісії в репо) про те, як дістатися до нового репо.

Якщо ви не хочете, щоб ваше нове репо було вказано як роздріб старого репо, вам потрібно створити новий обліковий запис github. Ви можете додати свій інший обліковий запис як співавтор для обох сховищ.


6

Варто зауважити, що якщо ви роздрібнюєте проект GitHub і перейменовуєте щойно створену копію, нове ім’я з’являється у графіку мережі учасників батьківського проекту. Зберігаються і взаємодоповнюючі відносини. Це має стосуватися будь-яких застережень, пов’язаних із першим пунктом оригінального питання, пов’язаним з переадресаціями, тобто ви все одно можете потрапити сюди, так би мовити. Я теж вагався через безповоротність, яку має на увазі попередження, тому, сподіваємось, це врятує інших, хто затримується.


Ви не можете розкрутити власний проект на github. Тож вам доведеться використовувати інший обліковий запис, але це спрацювало б.
JonnyJD

Я подав заявку в організацію, тому я думаю, що це те саме, що використовувати інший обліковий запис. Я впевнений, що ти прав.
Ніл Кращий

Ви можете створити новий порожній сховище. Клоніруйте старе сховище. Додайте віддалене посилання на ваше нове сховище. А потім натисніть потрібні гілки до нового сховища (наприклад, майстер). Я думаю, це була б часткова вилка.
Даррел Лі

6
  • Перейдіть до шляху вашого сховища.
  • Клацніть на кнопці настройки, яка знаходиться на правій панелі.
  • Замініть стару назву сховища на нову назву.
  • Натисніть кнопку Перейменувати

3

Це рішення призначене для тих користувачів, які використовують настільний GitHub.

  1. Перейменуйте свій сховище у налаштуваннях на GitHub.com

  2. Тепер із робочого столу натисніть на синхронізацію.

Зроблено.


дивно, що такої основної функції не було б знайдено у самій програмі
svarog

1
  1. відкрийте цю URL-адресу ( https://github.com/ ) у своєму браузері

  2. Перейдіть до сховищ у правому кінці сторінки

  3. Відкрийте посилання сховища, яке потрібно перейменувати

  4. натисніть Налаштування (ви знайдете на панелі навігації)

  5. Угорі ви знайдете поле Called (назва сховища), де ви пишете нове ім’я

  6. Натисніть Перейменувати


0

Я спробував перейменувати сховище на веб-сторінці:

  1. Клацніть у верхній частині правої сторінки, що це ваш аватар.
  2. ви можете подивитися на піктограму setting, натиснути її, а потім ви можете знайти Repositoriesпід Personal setting.
  3. клацніть Repositoriesі введіть ваші каталоги сховищ, виберіть сховище, яке ви хочете перейменувати.
  4. Тоді ви ввійдете до обраного сховища, і ви знайдете, що значок settingдодається до верхнього рядка, просто натисніть на нього та введіть нове ім'я та натисніть Rename.

Зроблено, так просто.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.