web-dev-qa-db-ja.com

Gitプッシュエラー:ユーザーアカウントと一致しません

次のコマンドを実行しました。

git pull <partner_remote> <partner_branch>
git config user.email <my_email>
git config user.name <my_name>
git commit --amend --reset-author
git Push <my_remote> HEAD:refs/for/<my_branch>

しかし、「git Push」の後に次のエラーが発生しました。

remote: ERROR:  In commit b6b74fff7850c4b61a5535519959b1ab58ca6fa9
remote: ERROR:  committer email address aaa@aaa
remote: ERROR:  does not match your user account.
remote: ERROR:
remote: ERROR:  The following addresses are currently registered:
remote: ERROR:    bbb@bbb
remote: ERROR:
remote: ERROR:  To register an email address, please visit:
remote: ERROR:  http://xxxxxxxx

私はそれを修正する方法がわかりません。

8
LayaCCC

(aaa @ aaa)が正しく理解できれば、Gerritに登録されているbbb @ bbbメールとは違うんですよね?だから... aaa @ aaaが正しいメールかどうかを確認し、Gerritに登録します。

  1. ジェリットに行く
  2. 「YOUR NAME」(右上)をクリックします
  3. 「設定」をクリックします
  4. 「連絡先情報」をクリックしてください
  5. 「新規メールを登録...」をクリックします
  6. フィールドにaaa @ aaaを入力し、[登録]をクリックします

「[Gerrit Code Review] Email Verification」というメールが届きます。指示に従って、aaa @ aaaメールアドレスをユーザーアカウントに追加します。

Gerrit->設定-> HTTPクレデンシャルに進みます。ガイドの手順に従って、以下のオプションを完了します:パスワードを取得します(新しいタブで開きます)

0
Jaysonsu

これは、git credential-managerが以前のログイン資格情報を保存しているためです。

ここに修正があります、ただ実行してください:

git credential-manager clear <gerrit url>

例:git credential-manager clear https://mygerrit.com

もう一度プッシュまたはクローンすると、ユーザー名とパスワードの入力を求められます

0
Lokkesh

さらに、他の人の変更をコミットしようとすると、同じエラーが発生する可能性があります。 Johnからのレビューでコミットがある場合、これは私のチームではかなり一般的な使用例ですが、Johnは休暇\病休\休暇を取り、いくつかのフィードバックが表示されました。したがって、コミットでできるだけ早くマージする必要がある場合は、いくつかの変更が必要です。 Gerritを使用すると、誰かのコミットをチェックアウトし、変更を加えて、新しいパッチセットとしてアップロードできます。元の作者(ジョン)は「作者」のままですが、あなたは「コミッター」になります。

ケースの簡単な説明でしたが、今度は問題に戻ります。私のチームでは、Gerrit構成がセットアップされているため、デフォルトでは「送信者」に Forge Author\Forge Committer 権限がないため、質問で述べたのと同じエラーが発生します。新しいパッチセットをアップロードします。

解決策は、gerritプロジェクト(メンテナ、開発者、または管理者)でより高い役割をリクエストすることです。

0
The Godfather