Bitbucket のチームリポジトリに git push
すると以下の様なワーニングが出ててずっとうざかったんだが、原因が分かったのでメモ。
どんな現象か
以下のように git push
する度に bitbucket が警告を出してくる。
remoteの部分が赤字で出てくきてうざい
$ git push
ounting objects: 6, done.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (6/6), 668 bytes | 0 bytes/s, done.
Total 6 (delta 3), reused 0 (delta 0)
remote:
remote: Warning!
remote: Your account does not have an email address associated with it.
remote: Please set one by visiting https://bitbucket.org/account/user/<team>/email/
remote:
To git@bitbucket.org:<team>/<repo>.git
5376f0b..6e707e5 master -> master
- あるチームのリポジトリにpushするときだけ出て、他チームや個人リポジトリへのpushでは出ない
- 表示されてるURLを開くと「チームへのメールアドレスの追加はもうサポートされていません」と表示されるのみで解決しない
- 同じリポジトリでも警告が出る時と出ない時がある(これも謎だった)
原因判明:チームに設定されたSSHキーのせいだった
どうやらBitbucketユーザではなくチームに紐付けられたSSHキーでpushするとそのキーにはメールアドレスが紐付いていないので怒られるようだ。そしてチームへのメアド追加はもうサポートしなくなったのでエラー見ても解決方法が分からずに悩まされていたわけだ。
対応としては、チームに設定されたSSHキーを削除してアカウントに紐づく鍵でpushしたらワーニングが出なくなった。
で、
同じリポジトリでも警告が出る時と出ない時がある(これも謎だった)
の原因も同時に分かった。
個人アカウントについてる自分の鍵とは別に、仕事用に昔作った鍵があってそれがチームの方に設定されていたのだ。
で、キーエージェントに ssh-add
された順番によって、仕事用の鍵と個人用の鍵がチャレンジされる順番が違う時があって、たまたま個人キーを先にaddしていたときには警告が出ず、仕事用のキーが先にaddされていた時だけ警告が出ていたというオチだった。