在git上删除远程分支时拒绝

Jak*_*ake 4 git gerrit

尝试删除远程分支时,出现以下错误:

$ 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  [...]
Run Code Online (Sandbox Code Playgroud)

这意味着什么?

Von*_*onC 6

这看起来像Gerrit的答案,如函数parseDelete()中所示.

  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");
    }
  }
Run Code Online (Sandbox Code Playgroud)

这是Gerrit控制推送政策的链接.

此类别控制如何允许用户将新提交上载到Gerrit中的项目.
删除现有分支机构将被拒绝.这是最安全的模式,因为提交不能被丢弃.

因此,除非您在此Gerrit类别上激活"强制选项",否则您将无法删除该服务器上的分支.