Как переименовать репозиторий на GitHub? - PullRequest
292 голосов
/ 22 апреля 2011

Я хотел переименовать один из своих репозиториев на GitHub, но я испугался, когда большое красное предупреждение произнесло:

  1. Мы не будем устанавливать никаких перенаправлений из старого местоположения
  2. Вам потребуется обновить локальные репозитории, чтобы они указывали на новое местоположение.
  3. Переименование может занять несколько минут.

Есть ли у кого-нибудь пошаговые инструкции?пошаговые инструкции о том, как выполнить # 1 и # 2 вручную?Или что мне делать на месте?

Ответы [ 13 ]

316 голосов
/ 22 апреля 2011

Если вы единственный человек, работающий над проектом, это не большая проблема, потому что вам нужно только сделать # 2.

Допустим, ваше имя пользователя someuser и ваш проект называется someproject.

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

git@github.com:someuser/someproject.git

Если вы переименуете свой проект, он изменит часть URL someproject, например

git@github.com:someuser/newprojectname.git

(см. Сноску, если ваш URL не похож на это).

Ваша рабочая копия git использует этот URL, когда вы делаете push или pull.

Таким образом, после того, как вы переименуете свой проект, вам нужно будет сообщить рабочей копии новый URL.

Это можно сделать в два этапа:

Во-первых, перейдите на локальный компакт-диск.каталог 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

(происхождение - это наиболее распространенное удаленное имя, но оно может называться как-то иначе.)

Но если есть много людей, которыеРаботая над вашим проектом, им всем нужно будет выполнить описанные выше шаги, и, возможно, вы даже не знаете, как с ними связаться, чтобы рассказать им.Вот о чем # 1.

Дополнительная информация:

Сноски:

1 Точный формат вашего URL зависит от того, какой протокол вы используетеНапример,

125 голосов
/ 17 мая 2013

Обратите внимание, что с мая 2013 года (" Переадресация репозитория здесь! ") вы можете переименовывать репозиторий GitHub без разрыва ссылок:

Мы рады объявитьчто начиная с сегодняшнего дня, мы автоматически перенаправим все запросы на предыдущие местоположения хранилища в их новый дом в этих обстоятельствах.Там нет ничего особенного, что вы должны сделать.Просто переименуйте, и мы позаботимся обо всем остальном.

В качестве специального бонуса, мы также будем обслуживать все Git-клоны, выборки и push-запросы из предыдущих хранилищ .

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

, чтобы уменьшить путаницу, мы настоятельно рекомендуем обновить любые существующие локальные клоны до точкина новый URL хранилища.Вы можете сделать это с помощью git remote в командной строке:

git remote set-url origin new_url

Осторожно, хотя:

GitHub Pages сайты не перенаправляются автоматически, когда их репозитории переименовываются в это время.
Переименование Репозитория страниц продолжит разрывать любые существующие ссылки на контент, размещенный в домене github.io или пользовательских доменах.

Плюс, пользователь все еще владеет пространством имен : если он / она создает новое репо, используя старое имя переименованного репо, это перенаправление (для указанногопереименован в репо) перестанет работать.

55 голосов
/ 26 января 2013

Я переименую свое собственное просто:

  1. , перейдя на github.com в моем хранилище
  2. Открыть вкладку настроек
  3. Первая настройка, которую вы видите«Имя хранилища»
  4. Измените действительное имя и добавьте новое имя, которое хотите присвоить хранилищу
  5. Нажмите Переименовать

После этогошаг, GitHub удостоверится, что ваш онлайн-репозиторий совпадает с именем вашей локальной папки.На этом этапе ваша проблема решена, если вы также не хотите переименовать вашу локальную папку.Затем сделайте это вручную и просто используйте Github-клиент для Windows, чтобы заново привязать ваш репозиторий к вашему жесткому диску, и Github снова сопоставит его.Это все!Очень просто.

14 голосов
/ 17 декабря 2017

Самый простой способ, который я нашел

  1. Перейдите по ссылке на репо, например: - https://github.com/someuser/someRepo.git

  2. Нажмите на вкладку настроек.

enter image description here

Первое, что вы можете увидеть, это имя вашего репо, вы можете его отредактировать.

Примечание. - Если вы клонировали репо на локальном компьютере, измените имя папки вручную, вот и все.

9 голосов
/ 19 декабря 2012

Этот ответ устарел! GitHub теперь будет перенаправлять в новые места. Подробнее см. этот ответ .


Причина этого предупреждения в том, что # 1 нельзя сделать вручную.

Если вы являетесь единственным человеком, работающим с хранилищем и связывающимся с ним, то вы можете заменить пульт в своем локальном репо и на своих веб-страницах.

Тем не менее, причина, по которой у вас есть публичный репозиторий на github, заключается в том, что другие могут клонировать ваш репозиторий и ссылаться на страницу вашего проекта github.


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

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


Альтернативой изменению имени репо является создание нового репозитория и оставление заметок в старом (также как коммиты в репо) о том, как добраться до вашего нового репо.

Если вы не хотите, чтобы ваш новый репо был указан как форк вашего старого репо, вам нужно создать новую учетную запись github. Вы можете добавить свою другую учетную запись в качестве соавтора для обоих репозиториев.

7 голосов
/ 24 сентября 2018

Я вижу много положительных отзывов на ответы, которые я не нахожу точными / полными.

Есть две вещи, которые нужно иметь в виду:

  • Удаленный репозиторий
  • Локальная копия хранилища

Если вы еще не клонировали свое хранилище на своем компьютере, вам просто нужно переименовать репозиторий Github, а затем приступить к клонированию хранилища, чтобы вы могли получить локальную копию. Чтобы переименовать репозиторий Github, вам нужно:

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

Если у вас уже есть локальная копия проекта , помимо выполнения вышеуказанных шагов, вам необходимо убедиться, что ваш локальный репозиторий (корневая папка) правильно переименован и указывает на правильный удаленный URL :) ссылка на сайт. Для этого сделайте следующее:

  1. Возможно, вы захотите использовать новое имя для вашего репо. Для этого переименуйте локальную папку, используя графический интерфейс ОС (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 объявил, что перенаправит все запросы из предыдущих URL-адресов хранилища на назначенные . Это означает, что вам не нужно использовать $ git remote set-url ..., но они все же побуждают вас делать это, чтобы избежать путаницы.

Надеюсь, это помогло. Если у вас есть какие-либо вопросы или пост недостаточно ясен, сообщите мне.

6 голосов
/ 14 января 2015
  • Перейдите к пути к вашему хранилищу.
  • Нажмите кнопку setting , которая находится в правой панели.
  • Заменить старое имя репозитория на новое.
  • Нажмите Переименовать Кнопка
6 голосов
/ 30 мая 2012

Стоит отметить, что если вы разветвляете проект GitHub, а затем переименовываете новую порожденную копию, новое имя появляется в графе участников сети родительского проекта. Дополнительные отношения также сохраняются. Это должно касаться любых оговорок, связанных с первым пунктом в первоначальном вопросе, связанном с перенаправлениями, то есть вы все еще можете получить отсюда, так сказать. Я тоже не решался из-за необратимости, подразумеваемой предупреждением, так что, надеюсь, это спасет других, которые задержат.

3 голосов
/ 05 мая 2016

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

  1. Переименуйте свой репозиторий из настроек на GitHub.com

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

Готово.

1 голос
/ 18 сентября 2017
  1. открыть этот URL (https://github.com/) из вашего браузера

  2. Перейти в репозитории в правом конце страницы

  3. Открыть ссылку репозитория, который вы хотите переименовать

  4. нажмите Настройки (вы найдете на панели навигации)

  5. Вверху вы найдете поле Called (имя репозитория), где вы пишете новое имя

  6. Нажмите Переименовать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...