git push 失败,拒绝更新隐藏的引用
Posted
技术标签:
【中文标题】git push 失败,拒绝更新隐藏的引用【英文标题】:git push fails with deny updating hidden ref 【发布时间】:2019-06-17 20:48:02 【问题描述】:我有一个我的 dotfiles 的存储库,并去从一个分支推送更改只是遇到......
$ git push
Enumerating objects: 46, done.
Counting objects: 100% (46/46), done.
Writing objects: 100% (46/46), 3.20 MiB | 1.52 MiB/s, done.
Total 46 (delta 0), reused 0 (delta 0)
To gitlab.com:auser/dotfiles.git
! [remote rejected] kimura -> origin/kimura (deny updating a hidden ref)
! [remote rejected] master -> origin/master (deny updating a hidden ref)
error: failed to push some refs to 'git@gitlab.com:auser/dotfiles.git'
This thread 建议它是因为在源上提出的拉取请求并链接到 blog post 以及如何跳过此问题的解决方案,尽管我没有在被拒绝的路径中明确包含 refs/pull
所以它可能是不同的问题,但我找不到太多关于此的信息,所以我想尝试提出的解决方案并将我的配置更新为...
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
[remote "origin"]
url = git@gitlab.com:auser/dotfiles.git
fetch = +refs/heads/*:refs/heads/*
fetch = +refs/tags/*:refs/tags/*
fetch = +refs/change/*:refs/change/*
pushurl = git@gitlab.com:auser/dotfiles.git
push = +refs/heads/*:refs/remotes/origin/*
[submodule "oh-my-zsh/.oh-my-zsh"]
url = https://github.com/robbyrussell/oh-my-zsh
active = true
[branch "master"]
remote = origin
merge = refs/heads/master
pushRemote = origin
[branch "kimura"]
remote = origin
merge = refs/heads/kimura
fetch = +refs/heads/*:refs/heads/*
fetch = +refs/tags/*:refs/tags/*
fetch = +refs/change/*:refs/change/*
但问题仍然存在。我的分支是...
$ git branch -a
* kimura
master
remotes/origin/kimura
remotes/origin/master
我尝试推送的主机是我在镜像到 Gitlab 之前启动 repo 的地方。
【问题讨论】:
push = +refs/heads/*:refs/remotes/origin/*
在一般情况下应该是push = +refs/heads/*:refs/heads/*
。
谢谢,这就是进步,我现在被告知我不能推送到受保护的分支,我只保护了 master 但已经解决了这个问题。不知道如何以这种方式设置配置。
@slackline 这不是说你的问题已经解决了吗?如果是这样,那么没有公认的答案是相当误导 - 也许你可以自我回答并正式关闭它
【参考方案1】:
我遇到了同样的错误[remote denied] origin/myBranch (deny update a hidden ref)
问题是:
我将一个远程仓库 mobile 克隆到一个文件夹中,然后,我对代码进行了修改,当我尝试推送时,而不是推送本地仓库 mobile到远程的,我试图推动它的父母
正确的方法是在你克隆的本地仓库中打开 git bash 并执行正确的命令,这也可能是你的问题。
【讨论】:
以上是关于git push 失败,拒绝更新隐藏的引用的主要内容,如果未能解决你的问题,请参考以下文章
Git 因致命错误而失败。拒绝将不相关的历史与 git push 合并?