2012-06-04 16 views
16

Chciałbym zmienić moją nazwę konta github, znalazłem opcję w ustawieniach konta GitHub.Jak bezpiecznie zmienić nazwę konta github?

Jestem jednak zaniepokojony konsekwencjami i chciałbym wiedzieć, jaka jest najlepsza strategia zmiany nazwiska, biorąc pod uwagę, że mam kilka własnych projektów związanych z tym kontem.

Dotychczas wymyśliłem tego planu:

  1. Zmień nazwę konta w GitHub ustawieniach
  2. Dla folderu lokalnego każdego projektu w „.git/config” aktualizacji plików zdalnego "origin" URL do nowego

Czy to zadziała? Czy powinny być jakieś dalsze kroki na komputerze, który przechowuje źródła projektu? Jaki będzie wpływ zmiany nazwiska na tych, którzy sklonowali lub rozwinęli moje projekty na GitHub?

Dziękujemy!

+2

Co powiedział GitHub, gdy skontaktowałeś się z nimi z pytaniem dotyczącym wsparcia dotyczącym ich produktu? –

+0

Wysłali to: ---------------------------------------- Od: Tekkub (GitHub Staff) Temat: Zmiana nazwy scenariusza konta użytkownika Dla (2) najlepiej nie edytować bezpośrednio konfiguracji, spróbuj tego: https://help.github.com/articles/changing-a-remote-s -url Naprawianie adresów URL jest jedyną rzeczą, o którą musisz się martwić podczas zmiany nazwy, nic innego się nie zmienia. ---------------------------------------- Który wypracował się dobrze. Jedyne - ci, którzy sklonowali mój projekt lokalnie, musieliby ręcznie sklonować lub zaktualizować piloty ręcznie. –

Odpowiedz

14

1.) Musisz zmienić wszystkie zdalne adresy swoich projektów. Można je zobaczyć poprzez:

git remote -v 

Następnie wyjąć stary pilot podczas wizyty:

git remote rm [email protected]:old_account/foo.git 

wreszcie dodać nowy zdalny adres:

git remote add origin [email protected]:new_account/foo.git 

2.) Wszystkie twoje sklonowane repos będzie przerwać. Nie ma przekierowania adresu URL ani niczego podobnego. Możesz zmienić swoje lokalne sklonowane repozytorium, ale inne muszą wskazać nowe adresy repo (jak w kroku 1):

Uwaga: Raporty Githuba z widłami działają bez problemu.

+2

Działa dobrze! Poza tym jest nieco inne polecenie, aby osiągnąć to samo: https://help.github.com/articles/changing-a-remote-s-url –

+0

Widelce się nie zepsują. Może chcesz to edytować. – Petros

+0

@Petros z widelcem Miałem na myśli "git clone" przez innych ludzi. Ale w Github masz rację. Ponieważ wszystkie widełki mają różne odległe źródła. Dzięki za powiadomienie! Zmienię to –

3

Wyszedłem skryptu w moim ~/bin nazywa git-reremote o następującej treści:

#!/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 

jest to bit hack, ale działa na tyle dobrze, tylko CD do repo git i nazywają git reremote (po upewnieniu się, że był on w swojej $PATH a także, że masz stałe starych i nowych zmiennych.

12

GitHub niedawno zmienił swój system nazwa_użytkownika zmienić, a teraz tworzy przekierowań dla Ciebie.

Od What happens when I change my username? na GitHub Pomoc:

Na boku GitHub, wszystko będzie zachowywać się tak, jakby nowa nazwa miała zawsze było twoje imię. Wszystkie twoje repozytoria będą teraz należały do ​​ , a nowa nazwa i stara nazwa użytkownika zasadniczo przestaną istnieć. Po wprowadzeniu zmiany może to potrwać kilka minut.

Łącza do poprzedniej strony profilu, takie jak https://github.com/previoususername, zwracają błąd 404. Nie możemy ustawić przekierowania ze starej nazwy użytkownika na nową dla odniesień takich [email protected]

Jednak przekierowania są skonfigurowane dla wszystkich repozytoriów. Zarówno web i git dostęp do starej lokalizacji nadal działają i przekierowują w kierunku nowej nazwy użytkownika.