📝
【git】初投稿!草が生えない原因…過去の草を取り戻せ!
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