📝

【git】初投稿!草が生えない原因…過去の草を取り戻せ!

2023/05/18に公開

Twitterで勉強内容というか、進捗を書いていたけど
文字数制限があって全然つかえてなかったので
まとめ用として、ここを使っていこう!

最近まで、まともに使えていなかったgit。
コミットしても草が生えなかったことがあったので
その時のことを書きます。

草が生えない原因は

ローカルとGitHubのメールアドレスが違っていた!

(ここを書くのにもMarkdown記法というのがあるのね)

github  hugahoge @mail.com
ローカル hugahoge .mail.com

アットマーク😭

gitへ気を回す余裕がない私も、さすがに4日で修正。

メールアドレス修正

ローカルのメールアドレスを確認

$ git config user.email
hugahoge.mail.com

修正。

$ git config --global user.email "hugahoge@mail.com"

もう一度メールアドレスを確認

$ git config user.email
hugahoge.mail@com

これでOK。

過去コミット分の修正

4日分の草を取り戻すべく、過去コミットを修正する。

$ git filter-branch -f --env-filter \
'GIT_AUTHOR_EMAIL="hugahoge@mail.com"; \
GIT_COMMITTER_EMAIL="hugahoge@mail.com"; \
export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE"' HEAD

--env-filter オプションの中で、
author(コードを書いた人)commiter(コミットした人)の新しいメールアドレスを指定。
最後の行の export GIT_COMMITTER_DATE="$GIT_AUTHOR_DATE" は、コミットの日付を変えないためのもので
GIT_COMMITER_DATE を GIT_AUTHOR_DATE に合わせないと、
コミットの日付が今日になってしまうので注意!
末尾の HEADは対象となるコミットの範囲を指定するもので、今回はすべてを指定。

これで無事、過去分の草が生えてきました🙌

Discussion