[Sourcetree/GitHub] 草が生えないのはメールアドレスの設定が原因だった

Sourcetreeを使ってGitによるバージョン管理を試し始めた。
GitHub上に草が生えないという事態に遭遇したので、原因と対処法を書いておく。

f:id:soratokimitonoaidani:20181223165023j:plain
Photo by Stanislav Kondratiev on Unsplash

問題の内容:コミット・プッシュは通常通りにできるのに、草が生えない。

Sourcetreeを使っている。Sourcetreeを通じてコミット・プッシュをすることはできるのに、GitHub上に草が生えない。
「草が生えない」と最初からスラングを使ってしまっているが、正確に言うと「Contributionを示すグラフが緑色にならない」のことである。
GitHub上で新規リポジトリを作成したことは、Contributionに正常に反映されていた。SourcetreeからGitHubに対する動作だけがContributionにならない。
となると、Sourcetree側の設定に何か問題があると推測される。

原因はメールアドレスの設定がされていなかったから

(Sourcetreeなしで)Git単体の場合だと、以下のページに書いてあるとおりだ。
GitHubに芝が生えない件について - Qiita
GitHub上に登録されているメールアドレスと、コミット時のメールアドレスが一致していないと、Contributionにカウントされない(=草が生えない)。

参考のため、GitHub公式のページも示しておこう。
Why are my contributions not showing up on my profile? - User Documentation
Viewing contributions on your profile - User Documentation

「何で草が生えないんですか」は英語で正確に言うと「Why are my contributions not showing up on my profile?」なんですね。なるほど。

Sourcetree / Git でメールアドレスを確認・変更するには

「全てのリポジトリでデフォルトで使うメールアドレス」と「個々のリポジトリのメールアドレス」の2つがあるが、
前者についてだけ話す。
デフォルトのメールアドレスを指定しておけば、リポジトリで個別に指定しない限りはそのアドレスが適用されるためである。

Sourcetreeの ツール→オプション を押す。
f:id:soratokimitonoaidani:20181223164404j:plain ここに書いてあるメールアドレスが、GitHubで設定したアドレスと一致していればOK。
違っているならば、新しいメールアドレスを入力して「OK」を押せば変更できる。

なお、コミットに使ったメールアドレスは他人から見えてしまうので注意。
GitHubのメールアドレスが漏れる?コミット時のメールアドレスにnoreplyを設定 - メンチカツには醤油でしょ!!
このアドレスはすぐに見えるというものでも無い。しかし、どこかのサービスが個人の連絡先を取得するためにGitHubのコミットログからメールアドレスを引っこ抜いてくることがあるので、要注意だ。

メールアドレスが知られたくない場合には、ユーザ名を使ったダミーアドレスにすることが可能である。
(上の画像でもそうしている)
About commit email addresses - User Documentation

Sourcetree / Git のメールアドレスは連動しているのか

している。
Sourcetreeのほうでアドレスを変更してから、ターミナルの上でメールアドレスを確認すると、同じように変更されていた。
上の画像で「SourcetreeにGitとMercurialのグローバル設定ファイルの変更を許可する」という項目がある。デフォルトではチェックが入っていた。
ここにチェックがあると、Sourcetreeで変更したメールアドレスがGit上でも変更されるんだと思う。

以上。それでは。