LoginSignup
0
0

More than 1 year has passed since last update.

gitアカウントをリポジトリ毎に変更する方法

Posted at

先日GitHubへコミットした際、会社のGitLab用のアカウントでコミットしてしまい
GitHub上で本名を晒してしまったので同じ過ちを起こしてもすぐ修正できるようにメモ。

原因

globalの.gitconfigに登録されていたuserでcommitしてしまったのが原因でした。
globalには会社のGitLab用のアカウントが登録されていたのですが、
特に何の設定もせずにGitHubへcommitしちゃったので前述した本名でのコミットに繋がりました…

ちなみにglobalで設定してある内容は以下のコマンドか~/.gitconfgを開く事で確認が可能です

git config --global -l
...
user.name=グローバルの.gitconfigに登録してあるアカウント名
user.email=グローバルの.gitconfigに登録してあるメールアドレス

対応方法

リポジトリ毎に.git/configを設定する

変更したい対象のリポジトリのディレクトリに移動して以下のコマンドを叩くと設定可能です

git config --local user.name "変更したい対象のリポジトリで使いたいアカウント名"
git config --local user.email "変更したい対象のリポジトリで使いたいメールアドレス"

設定が変更されたかどうかは以下のコマンドで確認可能です

git config -l

...
[user]
user.name=先程設定変更したアカウント名
user.email=先程設定変更したメールアドレス

間違えたユーザー名を全部書き換える

これでコミット時にglobalのgitconfigに登録されているアカウント名が使われることはなくなりましたが、
すでに行ってしまったコミットのアカウントは自動で変更されません。
過去全てのコミットで名前とメールアドレスを変更したい場合、以下のコマンドで対応可能です

git filter-branch -f --env-filter \
  "GIT_AUTHOR_NAME='変更後のアカウント名'; \
   GIT_AUTHOR_EMAIL='変更後のメールアドレス'; \
   GIT_COMMITTER_NAME='変更後のアカウント名'; \
   GIT_COMMITTER_EMAIL='変更後のメールアドレス';" \
  HEAD

参考

複数のgitアカウントを使い分ける
GitのCommitユーザを修正する方法

0
0
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
0