わすれっぽいきみえ

みらいのじぶんにやさしくしてやる

7日目: github.comはuser.emailをみてauthorが誰か判定しています(user.nameじゃない!)

やっとわかったぁーーー!!

とりあえずマジでくだらないchrome拡張のリポジトリ貼っておきます。

kimikimi714/uzawzer · GitHub

この中身はさておき、ひとまずgithub.comに公開するにあたって困ったことの解決方法書いておく。

問題

私はgithubアカウントを2つ持ってて、本アカと副アカを何となく使い分けてました。
で、うざウザーは本アカで公開したいわけですが、pushするとauthorが副アカになってて「なんでや!阪神(ry」という状態になった(気づいてよかったともいえる)。

原因

githubではどうやってauthorを判定しているのか。ここが肝です。

まずローカルのconfig確認してみた。

$ git config --get user.name
kimikimi714

だから当然authorはkimikimi714になると思ってた。 でもgithubがauthorを判定しているのは「user.emailの中身が何か」だった。

当時の私の状況
ローカルのuser.email = C@example.com
github本アカemail = A@example.com
github副アカemail = B@example.com, C@example.com

私はてっきりC@example.comを本アカと紐づけているつもりだったから、何回pushしても副アカがauthorの判定になっていた、というわけ。

またgithubでは、あるアカウントでemailを一度登録してしまうと、別アカでそのemailを登録しようとしたときに
Error adding C@example.com: email is already in use
と表示されて登録できなくなるので、一度登録したemailを解除して別アカで登録しなおす必要がある。

というわけで現在の私の状況
ローカルのuser.email = C@example.com
github本アカemail = A@example.com, C@example.com
github副アカemail = B@example.com

まぁややこしいのであんまり複数アカウント作らないのが一番いいとは思うけど、git関連のことでGoogle検索かけてみたら「会社とプライベート使い分ける」という人もいっぱいいるし、一助になれば(そして、このことを忘れた未来の私の助けになれば)と思う。

chrome拡張はまだ作り始めたばっかりなので、もう少し作ってpushしていこうと思う。