リモートブランチを削除しようとすると、次のエラーが発生します。
$ git push work :18300-018_5
remote: Processing changes: refs: 1, done
! [remote rejected] 18300-018_5 (can not delete references)
error: failed to push some refs [...]
これが何を意味するのかアイデアはありますか?
関数 parseDelete()に示されているように、これは Gerrit の回答のように見えます。
private void parseDelete(final ReceiveCommand cmd) {
RefControl ctl = projectControl.controlForRef(cmd.getRefName());
if (ctl.canDelete()) {
// Let the core receive process handle it
} else {
reject(cmd, "can not delete references");
}
}
これは、Gerrit によって制御されるプッシュ ポリシーへのリンクです。
このカテゴリは、ユーザーが Gerrit のプロジェクトに新しいコミットをアップロードする方法を制御します。
既存のブランチの削除は拒否されます。コミットを破棄できないため、これは最も安全なモードです。
したがって、この Gerrit カテゴリで「強制オプション」を有効にしない限り、そのサーバーのブランチを削除することはできません。
それはどのようなサーバーですか?GitHub ではなく、ブランチの削除を禁止するように特別に構成されたカスタム サーバーだと思います。この問題について、システム管理者に相談してください。