0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

GitHub の草(緑色のマス)が表示されない?過去のコミットも反映させる方法

Last updated at Posted at 2025-04-08

はじめに

こんにちは!最近 GitHub で毎日コードを書いているのに、貢献の草(緑色)が表示されず、悩んでいました。
原因は「Git のコミットに使われていたメールアドレスが GitHub に登録されていなかったこと」でした。
この記事では、その原因の解決方法と、過去のコミットも草にする方法を紹介します!


草が表示されない主な原因

1. Git のメールアドレスが GitHub に登録されていない

GitHub はコミット時の「メールアドレス」でユーザーを識別します。

確認方法:

git config user.email

対処方法:
GitHub の Settings > Emails にアクセスし、
このメールアドレスが「Verified」になっているか確認してください。

もし違う場合、以下で正しいメールを設定します:

git config --global user.email "your_email@example.com"

2. git commit だけで git push していない

ローカルでのコミットだけでは草は増えません。GitHub に push する必要があります。

git push origin main  # または master

3. フォークしたリポジトリにしかコミットしていない

GitHub の草は、自分が所有するリポジトリデフォルトブランチへの貢献でカウントされます。


4. 過去のコミットのメールアドレスを修正したい

ここが今回のポイント!
過去のコミットを GitHub に登録済みのメールに修正すれば、草としてカウントされるようになります


過去のコミットを修正して草を生やす方法

スクリプトで履歴を書き換える(git filter-branch

git filter-branch --env-filter '
OLD_EMAIL="旧メール@example.com"
CORRECT_NAME="GitHub のユーザー名"
CORRECT_EMAIL="正しいメール@example.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

強制 push

git push --force --tags origin main  # または master

注意点

  • 履歴の rewrite をするので、チーム開発中のリポジトリでは非推奨です
  • 自分の個人プロジェクトであれば問題ありません
  • GitHub の草はすぐには反映されないこともあります(数分~数時間)

まとめ

状況 解決方法
草が生えない Git のメールが GitHub に登録されているか確認
過去のコミットを反映したい git filter-branch で履歴を修正
草を生やすには? デフォルトブランチに push!

最後まで読んでいただきありがとうございます!
同じ悩みを持つ方の参考になれば幸いです!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?