Как безопасно изменить имя учетной записи github?

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

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

до сих пор, я придумал этот план:

  1. изменить имя учетной записи в настройках GitHub
  2. для локальная папка каждого проекта в '.обновление файла git / config удаленный "происхождения" url к новому

будет ли это работать? Должны ли быть какие-либо дальнейшие действия на компьютере, который содержит источники проекта? Как повлияет изменение имени на тех, кто клонировал или раздвоил мои проекты на GitHub?

спасибо!

3 ответов


1.) Вы должны изменить все удаленные адреса ваших проектов. Вы можете увидеть их через:

git remote -v

после этого удалите старые удаленные адреса:

git remote rm git@github.com:old_account/foo.git

наконец, добавьте свой новый удаленный адрес:

git remote add origin git@github.com:new_account/foo.git

2.) Все ваши клонированные РЕПО будут перерыв. Нет URL-перенаправления или чего-то подобного. Вы можете изменить свои локальные клонированные репозитории, но другие должны указать на новые адреса РЕПО (например, на Шаге 1)

Примечание: раздвоенный на GitHub РЕПО работает без каких либо проблем.


GitHub недавно изменил свое имя пользователя переименовать систему, и теперь настраивает перенаправления для вас.

с что происходит, когда я изменить свое имя пользователя? на GitHub помочь:

на стороне GitHub все будет вести себя так, как если бы ваше новое имя пользователя всегда было твоим именем. Все ваши репозитории теперь будут принадлежать это новое имя и старое имя Пользователя по существу больше не будут существовать. Это может занять несколько минут после запуска изменение.

ссылки на предыдущую страницу профиля, таких как https://github.com/previoususername, возвращает ошибку 404. Мы не можем переадресацию со старого логина на новый для справок, как @упоминает.

однако перенаправления настроены для всех ваших репозиториев. И web и git-доступ к старому местоположению продолжает функционировать и перенаправлять к новому имени.


Я оставил скрипт в моем ~ / bin под названием git-reremote со следующим содержимым:

 #!/bin/sh
old=richoH
new=richo
git remote -v | grep $old | while read name url type; do
    newurl=`echo $url | sed -e "s/$old/$new/"`
    git remote set-url $name $newurl
done

это немного взломать, но он работает достаточно хорошо, просто cd в Git repo и call git reremote (убедившись, что это в вашем $PATH а также то, что вы исправили старые и новые переменные.