0
1

push後にgithubのauthorとcommiterを変更する方法

Posted at

夫婦で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で更新が必要。

スクリーンショット 2024-08-19 23.44.56.png

夫の名前が表示されていた部分に自分の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で設定を確認する必要があると学びました。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1