一から勉強させてください( ̄ω ̄;)

最下級エンジニアが日々の学びをアウトプットしていくだけのブログです。

GitHubのユーザー名を変更してみた

この前GitHubのユーザー名を変更したので、メモがてら書いておきます。

自分は以下の懸念事項があって今までなかなか行動に移せていなかったのですが、今回無事に変更できたので似たような心配をしている人の参考になれば幸いです。

  • 今まで作成したGitHubリポジトリやGistはどうなるのか
  • homesick+GitHubで管理してるdotfilesはどうなるのか

とりあえずユーザー名を変更してみる

ユーザー名の変更自体は簡単です。 GitHubの自分のプロフィールページにアクセスして、以下のどちらかをクリックすればプロフィール編集画面にいけます。

f:id:d_animal141:20140906202549p:plain

で、そこからAccount Settings → change usernameでユーザー名を変更するだけ。

f:id:d_animal141:20140906202846p:plain

ここで怖いポップアップが出てくるのですが、逃げてはいけません。

f:id:d_animal141:20140906202931p:plain

別にリポジトリもGistも消されたりはしません。 ただ「お前のリポジトリのリダイレクトはしゃーなし設定してやるけど、お前の旧プロフィールページとか他のページはどうなっても知らねえよ?」って言われてるだけです。

https://github.com/old_username/repository_name

にアクセスしたら

https://github.com/new_username/repository_name

にリダイレクトされますが、

https://github.com/old_username

にアクセスしてもNot Foundになるので注意。

I understandしてしばらく待つとユーザー名の変更が完了します。

git config user.nameの設定

自分のPC側でgitのユーザー名を設定している場合はこちらも変更しておきます。

$ git config --global user.name 'new_username'

これでOK。

$ git config --global -l

で確認できます。

GitHub Helpもあるので参考にしてみてください。

過去にgit cloneしたローカルのリポジトリ達のケア

これは数が多い場合はだるいですが、やること自体は簡単です。

$ cd ローカルリポジトリ
$ git remote -v

# 変更前
origin  git@github.com:old_name/repository_name.git (fetch)
origin  git@github.com:old_name/repository_name.git (push)

$ git remote set-url origin git@github.com:new_name/repository_name.git
$ git remote -v

# 変更後
origin  git@github.com:new_name/repository_name.git (fetch)
origin  git@github.com:new_name/repository_name.git (push)

これでgit fetchとかgit pushが問題なくできればOKです。

homesickの再設定

自分は.vimrcやら.zshrcやらの設定ファイルをhomesickを使って管理しているのですが、こいつも設定し直さないといけません。homesickの使い方はこちらの記事などを参考にしてみてください。

ここからが本題の再設定(といっても先ほどと同じことするだけですが)。~/.homesick/repos/dotfileshomesick cloneしたリポジトリがあります。homesick cloneとはいえ所詮git cloneなので先ほどと同じようにremoteのurlを設定します。

$ cd ~/.homesick/repos/dotfiles

# 先ほどと同様にリポジトリのパスを変更
$ git remote set-url origin git@github.com:new_name/dotfiles

$ cd ~
$ homesick pull
$ homesick symlink dotfiles

# 設定できてるか確認
$ homesick list
dotfiles git@github.com:new_name/dotfiles

これで再設定が完了します。

他にも一旦ローカルのdotfilesリポジトリを消して、

$ homesick clone new_name/dotfiles

するのもありかと思いますが、一旦設定が消えてツラかったり、初期に設定されるremoteのurlがsshのものではなくhttpsのものだったりするので普通にgit remote set-urlするほうがいいと思います。

まとめ

こんな感じでサクッと変更できるので、ダサいユーザー名をつけて激しく後悔してる人はぜひかっこいいユーザー名に変更してみてください。

参考