はじめに
アプリ開発している際にGitHubに草が生えておらず、サポートとメールでやり取りしてなんとか解決したので、備忘用にまとめておきます!
原因
開発環境で名前とメールアドレスをGitHubのアカウントと紐付けていなかった為
調べ方
<ターミナル>
・git config --global user.name
・git config --global user.email
これでそれぞれ何も表示されなければ、紐づいていないようです。
解決方法
<ターミナル>
・git config --global user.name "githubの登録ユーザー名"
・git config --global user.email "githubの登録メールアドレス"
これをした後に再度
<ターミナル>
・git config --global user.name
・git config --global user.email
をして表示されていれば、その後のコミット分から草が生えます。
(--globalで設定しているので、おそらく2回目以降は不要だと思われます。)
変更前の分の草も復元したい
先ほどの手順で設定後からの分は反映されますが、それまでの分は反映されません。
サポートに確認したところ、
・リポジトリの一時コピーを作成し、その上でスクリプトを実行して、関連するすべてのコミットのメタデータを更新し、コラボレーターが次にプッシュする前に、変更をリポジトリのコピーにリベースする
・以前のコミットの作成者情報を更新するには、リポジトリの履歴を書き換える必要がありますが、リポジトリに複数の貢献者がいる場合は推奨されません
と回答がありました。
手順も載っていたのですが、かなり大変そうだと感じました。
メールアドレスを関連付けることで草が生えるということなので、自分のgithubアカウントのメールアドレスに「EC2 Default User」のメールアドレスを追加した結果、Contribution graphに履歴が復元されました。
ただこのやり方に問題がないか気になったのでサポートに確認したところ、
・技術的には有効なメールアドレスではありませんが、アカウントに追加できたため、そのアドレスを使用して行われたコミットがプロフィールに表示されています
と返ってきました。
メールアドレスとしては使えませんが、アカウントに追加自体はできるようです。
以下やり方です。
まず変更前のメールアドレスに何が使われていたのかを調べる
1.草が反映されていないコミットのページを開きます
2.URLの末尾に「.patch」を入力してENTER
3.開かれたページの上から2.3行目に以下のように書いています
From: EC2 Default User
<デフォルトのメールアドレス>
GitHubアカウントに<デフォルトのメールアドレス>を追加する
1.GitHubの右上のアイコンボタンを押す
2.Settingsを押す
3.Emailsを押す
4.「Add email address」と書かれたフォームがあるのでそこに入力し「Add」を押して、最後に確認作業
(私の場合は携帯に確認のメッセージが届き、確認番号を入力しました)