有一个远程 git 裸仓库,我从一台机器上推送了一个分支,然后拉到另一台机器上。
在另一台机器上进行了一些更改,试图将这些更改推送回远程裸仓库,我收到“receive.denyCurrentBranch”错误。
这是怎么回事?
这不应该发生在裸回购上 - 没有任何检查。
从机器 2 看到的分支是:
Fix
dev1
dev2
remotes/origin/HEAD -> origin/dev1
remotes/origin/Fix
remotes/origin/dev1
remotes/origin/dev2
remotes/origin/master
“修复”是两台开发机器上的当前分支。
当我最初在机器 2 上拉出那个分支时,我做了:
git pull
git checkout -b Fix origin/Fix
我怀疑第一条“远程”行 - 似乎 HEAD 应该指向我当前的分支,但事实并非如此。觉得我错过了什么,在这里..
更新 1 我将 'Fix' 分支合并到 dev1 分支,然后推送 'dev1' 分支 - 工作正常(无论如何我正要这样做)。
所以,这是一种解决方法,但我认为真正的问题是 HEAD 没有绑定到当前分支('Fix'),而是绑定到非活动分支('dev1')。我不确定如何更改远程仓库的头部?