尝试删除远程分支时,出现以下错误:
$ 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 [...]
任何想法这意味着什么?
这看起来像一个 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");
}
}
这是指向由 Gerrit 控制的推送策略的链接。
此类别控制如何允许用户将新提交上传到 Gerrit 中的项目。
拒绝删除现有分支。这是最安全的模式,因为提交不能被丢弃。
因此,除非您在此 Gerrit 类别上激活“强制选项”,否则您将无法删除该服务器上的分支。
那是什么样的服务器?我猜这不是 GitHub,而是专门配置为禁止删除分支的自定义服务器。与您的系统管理员讨论此问题。