Я хотел переименовать один из своих репозиториев на GitHub, но испугался, когда появилось большое красное предупреждение:
- Мы не будем устанавливать никаких перенаправлений со старого местоположения.
- Вам нужно будет обновить локальные репозитории, чтобы они указывали на новое местоположение.
- Переименование может занять несколько минут
Есть ли у кого-нибудь пошаговые инструкции по выполнению #1 и #2 вручную? Или что мне нужно сделать локально?
Если вы единственный человек, работающий над проектом, это не большая проблема, потому что вам нужно сделать только #2.
Допустим, ваше имя пользователя someuser
и ваш проект называется someproject
.
Тогда URL вашего проекта будет иметь вид1
[email protected]:someuser/someproject.git
Если вы переименуете свой проект, это изменит часть someproject
в URL, например.
[email protected]:someuser/newprojectname.git
(см. сноску, если ваш URL выглядит не так).
Ваша рабочая копия Git'а использует этот URL, когда вы делаете push
или pull
.
Поэтому после переименования проекта вам нужно будет сообщить своей рабочей копии новый URL.
Это можно сделать в два этапа:
Во-первых, cd
в ваш локальный каталог Git и выясните, какое удаленное имя (имена) ссылаются на этот URL:
$ git remote -v
origin [email protected]:someuser/someproject.git
Затем установите новый URL
$ git remote set-url origin [email protected]:someuser/newprojectname.git
Или в старых версиях Git'а вам может понадобиться:
$ git remote rm origin
$ git remote add origin [email protected]:someuser/newprojectname.git
(origin
- наиболее распространенное удаленное имя, но оно может называться и по-другому).
Но если над вашим проектом работает много людей, им всем нужно будет выполнить вышеописанные действия, и, возможно, вы даже не знаете, как связаться с ними, чтобы сообщить им об этом. Вот о чем #1.
Дальнейшее чтение:
Сноски:
1 Точный формат вашего URL зависит от того, какой протокол вы используете, например.
Обратите внимание, что с мая 2013 года ("Перенаправления репозиториев здесь!") вы можете переименовать свой репозиторий на GitHub, не нарушая никаких ссылок:
Мы рады сообщить, что с сегодняшнего дня мы будем автоматически перенаправлять все запросы о предыдущем местоположении репозитория на его новый дом в таких обстоятельствах. Вам не нужно делать ничего особенного. Просто переименуйтесь, а мы позаботимся обо всем остальном.
В качестве специального бонуса мы также будем обслуживать все запросы Git clone, fetch и push из предыдущих местоположений репозитория.
Это значит, что вам даже не придется git remote set-url
(изменять url вашего удаленного репозитория GitHub) на вашем локальном клонированном репозитории!
Хотя Габриэль отмечает в комментариях, что официальная страница помощи GitHub настоятельно рекомендует делать это:
чтобы уменьшить путаницу, мы настоятельно рекомендуем обновить все существующие локальные клоны, чтобы они указывали на новый URL репозитория. Это можно сделать с помощью git remote в командной строке:
git remote set-url origin new_url
Однако будьте осторожны:
GitHub Pages сайты не перенаправляются автоматически при переименовании их репозиториев в настоящее время.
Переименование репозитория Pages будет по-прежнему нарушать все существующие ссылки на контент, размещенный на доменеgithub.io
или пользовательских доменах.
Кроме того, пользователь по-прежнему владеет пространством имен: если он/она создаст новый репозиторий, используя старое имя переименованного репозитория, то перенаправление (для переименованного репозитория) перестанет работать.
Я переименовываю свои собственные просто:
После этого шага GitHub убедится, что имя вашего онлайн-репозитория совпадает с именем вашей локальной папки. На этом шаге ваша проблема решена, если вы не хотите переименовать свою локальную папку. Тогда сделайте это вручную и просто используйте клиент Github для windows, чтобы снова найти ваш репозиторий на вашем жестком диске, и Github снова будет соответствовать ему. Вот и все! Очень просто.
Самый простой способ, который я нашел
Перейдите по ссылке на ваше репо, например: https://github.com/someuser/someRepo.git
.
Перейдите на вкладку настройки.
Первое, что вы увидите, это название вашего репозитория, вы можете отредактировать его.
Примечание:- Если вы клонировали репо на локальном компьютере, измените имя папки вручную, вот и все..
Этот ответ устарел! Теперь GitHub будет пересылать информацию на новые места. Подробности см. в этом ответе.
Причина появления этого предупреждения в том, что #1 **не может быть сделан вручную.
Если вы единственный человек, работающий над репозиторием и дающий ссылки на него, то вы вполне можете изменить remote в вашем локальном репозитории и на ваших веб-страницах.
Однако, причина иметь публичный репозиторий на github в первую очередь в том, что вы можете позволить другим клонировать ваш репозиторий и ссылаться на вашу страницу проекта на github.
Старый url github.com/<username>/<repository>
принадлежит github.
Если они не настроят никаких перенаправлений на новый url, никто не сможет этого сделать.
Таким образом, все сломается для всех, кроме тех, кому вы говорите.
Насколько это большая проблема, зависит от вас. Если у вас есть официальная страница проекта на другом сервере, то github url может не представлять особой проблемы. Если вы рекламировали свой проект с помощью github url в списках рассылки и каталогах, то вам, вероятно, не стоит менять имя репозитория.
Альтернативой изменению имени репозитория является создание нового репозитория и оставление в старом репозитории заметок (также в виде коммитов в репозитории) о том, как добраться до вашего нового репозитория.
Если вы хотите, чтобы ваше новое хранилище было указано как форк вашего старого хранилища, вам нужно создать новый аккаунт на github. Вы можете добавить свой другой аккаунт в качестве соавтора для обоих репозиториев.
Я вижу много положительных отзывов на ответы, которые я вообще не считаю точными/полными.
Есть две вещи, которые нужно иметь в виду:
Если вы еще не клонировали репозиторий на своей машине, вам просто нужно переименовать репозиторий Github, а затем приступить к клонированию репозитория, чтобы у вас была локальная копия. Для того чтобы переименовать репозиторий Github, вам просто нужно:
Если у вас уже есть локальная копия проекта, помимо выполнения описанных выше шагов, вам нужно убедиться, что ваш локальный репозиторий (корневая папка) переименован правильно и указывает на правильную удаленную url :) ссылку. Чтобы добиться этого, сделайте следующее:
mv -R current-repo-name new-repo-name
.
$ git remote set-url origin https://github.com/userX/repositoryU
.
или
$ git remote set-url origin [email protected]:userX/repositoryU.git
.
Второй шаг не является обязательным. Некоторое время назад Github объявил, что будет перенаправлять все запросы с прежних адресов репозитория на назначенные. Это означает, что вам не нужно использовать $ git remote set-url ...
, но они все равно рекомендуют делать это, чтобы избежать путаницы.
Надеюсь, это помогло. Если у вас есть вопросы или пост недостаточно ясен, дайте мне знать.
Стоит отметить, что если вы форкнете проект на GitHub, а затем переименуете вновь порожденную копию, новое имя появится в сетевом графе членов родительского проекта. Отношения дополнения также сохраняются. Это должно снять все сомнения, связанные с первым пунктом первоначального вопроса, касающимся перенаправлений, т.е. вы все еще можете попасть сюда, так сказать, оттуда. Я тоже сомневался из-за безвозвратности, подразумеваемой предупреждением, так что, надеюсь, это избавит других от этой задержки.
Это решение предназначено для тех пользователей, которые используют рабочий стол GitHub.
Переименуйте свой репозиторий из настроек на GitHub.com
Теперь на рабочем столе нажмите на sync.
Готово.
откройте этот url (https://github.com/) в вашем браузере
Перейдите к репозиториям в правом конце страницы
Откройте ссылку репозитория, который вы хотите переименовать
нажмите Настройки (вы найдете в навигационной панели)
В верхней части вы найдете поле (Имя репозитория), где вы напишите новое имя.
Нажмите Переименовать
Я попытался переименовать хранилище на веб-странице:
настройки
, нажмите на него и затем вы можете найти Репозитории
под Личные настройки
. Репозитории
и войдите в ваши каталоги репозиториев, выберите репозиторий, который вы хотите переименовать. настройки
добавлена в верхнюю строку, просто нажмите на нее и введите новое имя, затем нажмите Переименовать
. Готово, так просто.