[GitHub] 草が生えなくなった時の対処法
はじめに
就活時にGitHubの草(コントリビューション)が重視されるのできちんと反映されているか確認したところポートフォリオのディレクトリだけ草が生えていませんでした。
せっかく多くのcommitをしたのに反映されないのはもったいないので、解決方法を模索し解決しました。
その手順をまとめておこうと思います。
GitHubとローカルの名前/メールアドレス設定
今回の原因はローカルのメールアドレス設定をしていなかったからでした。
そのほかにも草をはやすための条件があります。以下のリンクで確認ができます。
まずGitHubで登録しているメールアドレスを確認します。
アカウントのアイコン→Settings→Emailsから確認できます。
次にターミナルを起動しローカルのusernameとメールアドレスを確認します。
確認する場合は下記Gitコマンドを入力します。
git config --global user.name
git config --global user.email
GitHubの内容と異なっていたので以下のコマンドで変更をします。
git config --global user.name "GitHubのusername"
git config --global user.email "GitHubのメールアドレス"
これで次回からコミットで草が生えるようになります。
過去のcommit情報を一括変更
これまでの作業で、次回から行うcommitについては草が生えるようになりました。
しかし、これだけでは過去コミットした内容については反映されない状態だったのでその方法についても触れておきます。
まずgit log
コマンドを使って、過去のcommit履歴を確認します。
commit 701fa27a02309fc12a2105c01a7782c71ef3ef26
| Author: EC2 Default User <ec2-user@ip-172-31-6-194.ap-northeast-1.compute.internal>
| Commit: EC2 Default User <ec2-user@ip-172-31-6-194.ap-northeast-1.compute.internal>
|
| [Update]post_records_layout
このような表示になり、GitHubのアカウント情報とは一致してないので草が生えないようでした。
この部分を先ほど変更した内容にできれば草をはやすことができそうです。
一括変更するために下記のコードをターミナルで実施します。
git filter-branch -f --env-filter "GIT_AUTHOR_NAME='GitHubのusername'; GIT_AUTHOR_EMAIL='GitHubのメールアドレス'; GIT_COMMITTER_NAME='GitHubのusername'; GIT_COMMITTER_EMAIL='GitHubのメールアドレス';" HEAD
その後、変更が反映されているか確認します。
$ git log
Merge: bdsb28a 94891d5
Author: GitHubのアカウント名 <GitHubのメールアドレス>
Date: Sat Jun 26 11:50:52 2021 +0900
変更内容が確認出来たらGitHubにpushします。
git push -f origin master
これで過去の分も草をはやすことができました!!
参考にさせていただいた記事
まとめ
メールアドレス設定の変更で解決できると思いきや思い通りに草が生えずに焦りましたが、落ち着いて原因を探したところ何とか解決することができました。
この失敗からgit init
をした段階で設定しているGitHubの情報があっているかの確認を癖づける意識が重要だと認識しました。
Discussion