🌿

Git 過去の草をはやす

2023/07/09に公開

🍍草原が見たい

毎日一回は絶対にpushしている記憶があったのだが、わたしの土地を見てみるとスカスカだった。

しかも、生えているときも1Contributionしかない。
なんで!????

🍍試行錯誤

まずはネットで調べてみる

ネットで調べてみると、大体がgitに登録しているメアドと相違がある場合このような現象が起きることが多いみたい!

$ git config user.email

早速ターミナルでメアドを見てみる
何も出てこない→何も登録されてなかったってこと??

💎じゃあたまに草生えてた時はなんで??
たぶん、ローカルリポジトリとリモートリポジトリをつなげたときだけは正常に草が生えてそのあとはメアドが違うので記録されていなかったみたいです😢

$ git config --global user.email "gitに登録している物と同様のメアド"

これでメアドを登録したら

草が生えました!二日様子見てたのですが連続で生えているので安心できそうです💌

私の過去草を返して

メアドを登録したことでこれからの草は安心できました!

でも、今までの頑張りも取り戻したいです、、!

$ git log

これを行うことで今までのgit logを確認できるみたいです。
記録した人の名前とメアドも確認できます。
(logが永遠に止まらないときはQキーを押してストップしてください!)

確認してみると草が生えているところは登録したメアドが表示されていますが、生えていないところはよくわからないメアドが表示されています。

ec2-user@ip-172-31-10-165.ap-northeast-1.compute.internal????

今までのcommitした記録のメアドを変えたら草を取り返せると予想。

一括変更するためのコード

git filter-branch -f --env-filter "GIT_AUTHOR_NAME=GitHubのアカウント名; GIT_AUTHOR_EMAIL=GitHubのメールアドレス; GIT_COMMITTER_NAME=GitHubのアカウント名; GIT_COMMITTER_EMAIL=GitHubのメールアドレス;" HEAD

これでもう一度git logを行いメアドが変更されているかを確認する。

最後に以下コードでGitHubにpushする。

$ git push -f origin master

回収成功🎉🎉<最初の画像から少し日をまたいでいるので位置が微妙に異なります>

  • すべてのリポジトリのメアドを変更し一括でpushはできなかったので。1つずつファイルを移動してファイル名の変更→pushを行っていきました


たまに Can not rewrite branches: you have unstaged changes.と表示される時がありました。
その時は、コミットしなおすとOK!

Discussion