夫婦でMacBookを共有しており、設定など全て夫が行っているため、あらゆる権限が夫で設定されています。
そのため、ターミナル経由でgitへcommit&pushした際にauthorとcommiterに夫のフルネームが表示されてしまっていました。
commit&push後でしたが、authorとcommiter名を変更して修正しました。
authorとcommiterの変更
ターミナルに下記全てをコピペ。
% git filter-branch --env-filter '
OLD_EMAIL="old@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="new@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
下記部分を自分の名前やメールアドレスに変更します。
OLD_EMAIL="変更前のemailを入力"
CORRECT_NAME="修正表示したい名前を入力"
CORRECT_EMAIL="修正表示したいemailを入力"
OLD_EMAILに登録されている変更前emailを調べる方法はターミナルにて下記。
% git log --pretty=full
私はの場合は、"夫の名前<username|@Usernames-MacBook.local>"と出てきたが
<>内のMacBook.localのアドレスで問題なく入力できた。
強制pushする
git push --force --tags origin 'refs/heads/*'
すでにpush済みのため強制pushで更新が必要。
夫の名前が表示されていた部分に自分のusernameに変更された。
設定を確認&変更
毎回間違わないよう、今後のcommiterとauthorを変更しておく。
現在の設定を確認。
git config --list
設定があればusernameとemailが表示される。
git config --global user.name "username"
git config --global user.email ~~~~~~@email.com
リポジトリごとの変更は上記で"--global"を削除する。
まとめ
家族でパソコンを共有していたり、いつもと違う環境からのcommitやpushは事前にconfigで設定を確認する必要があると学びました。