状況
- macOSを再インストールした為に、gitのauthorの設定が必要だったが、やらずにcommitをリモートにプッシュしてしまった。
その結果、自分のGitアカウントにcommitが紐付けされなかった(GitHub上でcommit横にアイコンが表示されなかった)
対応
1)gitのauthorの設定
# 状態を確認 git config --global --list # Author(ユーザ名とメール)を設定 git config --global user.name ユーザ名 git config --global user.email メール
2)ローカルで過去のコミットのAuthorを修正
(参考:【Git】プッシュ前にコミットを1つにまとめる(squash))
git rebase -i 修正したいコミットより1個古いコミットID # 変更したいコミットの文頭をeに変更(複数可) # 以降、1コミットずつ変更していくことになる。下記①②を繰り返す # ①Authorの修正 git commit --amend --reset-author # (コミットメッセージの編集画面が開くので:wqでOK) # ②修正完了し、次のコミットに移行 git rebase --continue
3)リモート(open状態のプルリク)に修正を反映
(参考:【Git】リモートにプッシュできない(error: failed to push some refs to 'https〜))
git pull --rebase origin main git push --force-with-lease origin 自分の作業ブランチ名
参考
過去のgitコミットのCommitとAuthor情報を修正する - ひと夏の技術
git - How can I change the commit author for a single commit? - Stack Overflow
Git の Commit Author と Commiter を変更する #Git - Qiita
Git: コミット済みのAuthorとCommit情報を変更する方法(rebase)
Git - Rewriting History < git-scm.com book