3

git config でクローンを構成したため、作成者と電子メール ID を UserA として示すコミットを含むローカル クローンがあります。

親プロジェクトからフェッチしてマージするのではなく、同じプロジェクトで作業している同僚のクローン (UserB) からいくつかのコミットをフェッチしてマージしました。

私の Git ログには、私が行ったコミットと同僚が行ったコミットが表示されます。

私がここに持っている質問は

1) Gerrit コード レビューは、親プロジェクトでのコミットを認識します。そのため、ローカルクローンからプッシュすると、同僚からプルしたコミットが認識されず、このエラーが発生します

! [リモート拒否] HEAD -> refs/for/project1 (あなたはコミッター UserB@xyz.com ではありません)

誰かがこの Gerrit エラーで私を助けることができますか?

2) 同僚の名前を持つコミットが親プロジェクトからプルされたものか、同僚のクローンから直接プルされたものかを特定するにはどうすればよいですか?

4

1 に答える 1

3

1)Gerritは、メールアドレスのすべての変更をチェックします。すべての変更に、変更をプッシュするユーザーアカウントで構成されているメールアドレスがある場合にのみ、Gerritはそれらを通過させます。ただし、このチェックをバイパスする必要がある場合は、ユーザーに「作成者IDの偽造」および「コミッターIDの偽造」へのアクセス許可を与える必要があります。

2)これが可能な唯一の方法は、親リポジトリにそのコミットが含まれていないかどうかを調べることです。もしそうなら、あなたがそれらを得ることができる唯一の方法はあなたの同僚から直接フェッチすることでした。ただし、コミットがすでに親リポジトリにプッシュされている場合、どのリポジトリからコミットがプルされたかを明確に言う方法がわかりません。しかし、なぜこれが必要になるのかという要件もわかりません。

于 2012-01-06T14:10:58.977 に答える