web-dev-qa-db-ja.com

Gerrit Pushが機能しない。リモートは拒否されました、Gerritにより禁止されています

既存のリポジトリをgerritに追加しようとしています。空のプロジェクトを作成し、それをプッシュしようとしました(git Push ssh://admin@localhost:29418/project *:*)。このエラーメッセージが返されます。

Counting objects: 14, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 384 bytes | 0 bytes/s, done.
Total 3 (delta 1), reused 3 (delta 1)
remote: Resolving deltas: 100% (1/1)
remote: Processing changes: refs: 3, done    
To ssh://admin@localhost:29418/project
 ! [remote rejected] Origin/HEAD -> Origin/HEAD (prohibited by Gerrit)
 ! [remote rejected] Origin/master -> Origin/master (prohibited by Gerrit)
 ! [remote rejected] Origin/ref/for/master/testing -> Origin/ref/for/master/testing (prohibited by Gerrit)
error: failed to Push some refs to 'ssh://admin@localhost:29418/project'

私はすでにgerritサイトに行っており、project/accessを追加しましたrefs/head/*すべてのユーザーの参照権限を作成します。

9
Vis

私の経験から、リポジトリ全体をgerritにインポートするには、以下のグループ権限が必要です-基本的にすべてをgerritリポジトリにプッシュする権限:

  • refs/heads /*
    • 参照を作成する
    • 作者のアイデンティティを偽造する
    • コミッターのアイデンティティを偽造する
    • 押す
    • プッシュマージコミット
    • 注釈付きタグをプッシュ
  • refs/tags /*
    • 参照を作成する
9
volker

参照の作成特権を追加することに加えて、直接のプッシュ/強制プッシュ特権を持っていることを確認する必要もあります。参照の作成には、新しいブランチの作成が含まれますが、既存のブランチ(つまり、Origin/HEADおよびOrigin/master)には、ダイレクトプッシュ/強制プッシュの権限が必要です(ドキュメントでは、これをダイレクトプッシュと強制プッシュの両方として参照していることを確認しています)。

2
forkrul

gitプロジェクトでgit config --listを使用して、user.name、user.emailがローカルのgerritサイトのユーザー名または電子メールと等しいか、等しくないことを確認してください。等しくない場合は、git config user.nameを使用してください。 XXX。

やっと。 git config remote.Origin.Push refs/heads/:refs/for /なので、Git Push Originマスターを使用できます

0
孙晨光