一から勉強させてください

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

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するほうがいいと思います。

まとめ

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

参考