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

时间:2012-08-30 06:58:49

标签: 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  [...]

这意味着什么?

2 个答案:

答案 0 :(得分:6)

这看起来像Gerrit的回答,如function 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");
    }
  }

这是指向push policy controlled by Gerrit的链接。

  

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

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

答案 1 :(得分:0)

那是什么类型的服务器?我想这不是GitHub,而是一个专门配置为禁止分支删除的自定义服务器。与您的系统管理员讨论此问题。