Как переименовать репозиторий на GitHub?
Я хотел переименовать одно из своих хранилищ на GitHub, но я испугался, когда большое красное предупреждение гласило:
- Мы не будем устанавливать никаких переадресаций со старого места
- Вам нужно будет обновить ваши локальные репозитории, чтобы указать новое местоположение
- Переименование может занять несколько минут
У кого-нибудь есть пошаговые инструкции о том, как выполнить #1 и #2 вручную? Или что мне делать на месте?
11 ответов
Если вы единственный человек, работающий над проектом, это не большая проблема, потому что вам нужно только сделать №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.
Вы можете сделать это в два этапа:
Во-первых, перейдите в локальный каталог 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 зависит от того, какой протокол вы используете, например,
- SSH = git@github.com: someuser / someproject.git
- HTTPS = https://someuser@github.com/someuser/someproject.git
- GIT = git: //github.com/someuser/someproject.git
Обратите внимание, что с мая 2013 года (" Перенаправления репозитория уже здесь! ") Вы можете переименовывать репозиторий GitHub, не нарушая никаких ссылок:
Мы рады объявить, что начиная с сегодняшнего дня, мы автоматически перенаправим все запросы на предыдущие местоположения хранилища в их новый дом в этих обстоятельствах. Там нет ничего особенного, что вы должны сделать. Просто переименуйте, и мы позаботимся обо всем остальном.
В качестве специального бонуса мы также будем обслуживать все Git-клоны, выборки и push-запросы из предыдущих хранилищ.
Это означает, что вам даже не нужно git remote set-url
(измените URL вашего удаленного репозитория GitHub) в вашем локальном клонированном репо!
Хотя Gabriel отмечает в комментариях, что официальная страница справки GitHub настоятельно рекомендует вам сделать это:
чтобы избежать путаницы, мы настоятельно рекомендуем обновить любые существующие локальные клоны, чтобы они указывали на новый URL-адрес хранилища. Вы можете сделать это с помощью git remote в командной строке:
git remote set-url origin new_url
Осторожно, хотя:
Сайты GitHub Pages не перенаправляются автоматически, когда их репозитории переименовываются в это время.
Переименование репозитория страниц будет продолжать разрушать любые существующие ссылки на контент, размещенный наgithub.io
домен или пользовательские домены.
Кроме того, пользователь по-прежнему владеет пространством имен: если он / она создает новое репо, используя старое имя переименованного репо, то перенаправление (для указанного переименованного репо) перестанет работать.
Я переименую свое собственное просто:
- собираюсь на github.com в моем хранилище
- Открыть вкладку настроек
- Первая настройка, которую вы видите, это "Имя хранилища"
- Измените фактическое и добавьте новое имя, которое вы хотите дать вашему хранилищу
- Нажмите на переименовать
После этого шага GitHub убедится, что ваш онлайн-репозиторий совпадает с именем вашей локальной папки. На этом этапе ваша проблема решена, если вы также не хотите переименовать вашу локальную папку. Затем сделайте это вручную и просто используйте Github-клиент для Windows, чтобы заново привязать ваш репозиторий к вашему жесткому диску, и Github снова сопоставит его. Это все! Очень просто.
Самый простой способ, который я нашел
Перейдите по ссылке на репо, например:-
https://github.com/someuser/someRepo.git
Нажмите на вкладку настройки.
Первое, что вы можете увидеть, это имя вашего репо, вы можете отредактировать его.
Примечание:- Если вы клонировали репо на локальном компьютере, измените имя папки вручную, вот и все.
Я вижу много положительных отзывов на ответы, которые я не нахожу точными / полными вообще.
Нужно иметь в виду две вещи:
- Удаленный репозиторий
- Локальная копия хранилища
Если вы еще не клонировали репо на своей машине, вам просто нужно переименовать репозиторий Github, а затем приступить к клонированию репо, чтобы вы могли получить локальную копию. Чтобы переименовать репозиторий Github, вам просто необходимо:
- Перейдите на сайт хранилища (например, https://github.com/userX/repositoryZ).
- В панели навигации вы увидите вкладку "Настройки". Нажмите здесь.
- Просто отредактируйте имя текущего репозитория с нужным и нажмите "Переименовать".
- Клонируйте репозиторий как обычно (например, git clone https://github.com/userX/repositoryU).
Если у вас уже есть локальная копия проекта, помимо выполнения описанных выше шагов, вам необходимо убедиться, что ваш локальный репозиторий (корневая папка) правильно переименован и указывает на правую ссылку на удаленный URL-адрес:). Для этого сделайте следующее:
- Возможно, вы захотите использовать новое имя для вашего репо. Для этого переименуйте локальную папку с помощью SO GUI(Finder, Windows Explorer и т. Д.) Или консоли:
mv -R current-repo-name new-repo-name
- Измените удаленный 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 ...
, но они все еще побуждают вас делать это, чтобы избежать путаницы.
Надеюсь, это помогло. Если у вас есть какие-либо вопросы или пост недостаточно ясен, дайте мне знать.
Этот ответ сейчас устарел! GitHub будет перенаправлять на новые места сейчас. Смотрите этот ответ для деталей.
Причина этого предупреждения в том, что № 1 нельзя сделать вручную.
Если вы единственный человек, работающий с репозиторием и связывающийся с ним, то вы можете сменить пульт в своем локальном репо и на своих веб-страницах.
Тем не менее, причина иметь публичный репозиторий на github, в первую очередь, в том, что вы можете сделать так, чтобы другие клонировали ваш репозиторий и делали ссылки на страницу вашего проекта github.
Старый URL github.com/<username>/<repository>
принадлежит github. Когда они не устанавливают никаких перенаправлений на новый URL, никто не может. Так что все сломается для всех, кроме людей, которых вы говорите.
Насколько велика проблема, зависит только от вас. Если у вас есть официальная страница проекта на другом сервере, то URL-адрес github может не быть большой проблемой. Если вы рекламировали свой проект с помощью URL-адреса github в списках рассылки и каталогах, то вам, вероятно, не следует менять имя репо.
Альтернативой изменению имени репо является создание нового репозитория и оставление в старом (также как и коммиты в репо) заметок о том, как достичь нового репо.
Если вы не хотите, чтобы ваш новый репо был включен в список форков старого, вам нужно создать новую учетную запись на github. Вы можете добавить свою другую учетную запись в качестве соавтора для обоих репозиториев.
Стоит отметить, что если вы разветвляете проект GitHub, а затем переименовываете новую порожденную копию, новое имя появляется в графе участников сети родительского проекта. Дополнительные отношения также сохраняются. Это должно относиться к любым оговоркам, связанным с первым пунктом в первоначальном вопросе, связанном с перенаправлениями, то есть, вы все равно можете получить отсюда, так сказать. Я тоже не решался из-за необратимости, подразумеваемой предупреждением, так что, надеюсь, это спасет других, которые задержат.
- Перейдите к вашему пути к хранилищу.
- Нажмите на кнопку настройки, которая находится в правой панели.
- Замените старое имя хранилища на новое.
- Нажмите на кнопку переименовать
Это решение для тех пользователей, которые используют рабочий стол GitHub.
Переименуйте ваш репозиторий из настроек на GitHub.com
Теперь с вашего рабочего стола нажмите на синхронизацию.
Готово.
Я попытался переименовать хранилище на веб-странице:
- Нажмите вверху справа страницы, что это ваш аватар.
- Вы можете посмотреть на иконку
setting
, нажмите на нее, и затем вы можете найтиRepositories
подPersonal setting
, - нажмите на
Repositories
и введите ваши каталоги репозиториев, выберите репозиторий, который вы хотите переименовать. - Затем вы войдете в выбранный репозиторий и найдете значок
setting
добавляется в верхнюю строку, просто нажмите на нее и введите новое имя, затем нажмитеRename
,
Готово, так просто.
откройте этот URL ( https://github.com/) в своем браузере
Перейти в репозитории в правом конце страницы
Откройте ссылку репозитория, который вы хотите переименовать
нажмите Настройки (вы найдете на панели навигации)
Вверху вы найдете поле Called (имя репозитория), где вы пишете новое имя
Нажмите Переименовать
Простое решение:
1) Откройте URL вашего проекта: https://github.com/someuser/project-name
2) в верхней части, помимо названия проекта, нажмите EDIT