views:

12

answers:

0

Have a remote git bare repo that onto which I've pushed a branch from one machine, and pulled to another machine.

Made some changes on the other machine, trying to push those changes back to the remote bare repo, and I get the 'receive.denyCurrentBranch' error.

What's going on?

This isn't supposed to happen on a bare repo - there's nothing checked out on it.

The branches as seen from machine 2 are:

Fix
dev1
dev2
remotes/origin/HEAD -> origin/dev1
remotes/origin/Fix
remotes/origin/dev1
remotes/origin/dev2
remotes/origin/master

'Fix' is the current branch on both dev machines.

When I originally pulled that branch on machine 2, I did:

git pull
git checkout -b Fix origin/Fix

I'm suspicious of the first 'remotes' line - seems that the HEAD should be pointing to my current branch, but it isn't. Think I'm missing something, here..

Update 1 I merged the 'Fix' branch down to the dev1 branch, and then pushd the 'dev1' branch - that worked ok (I was about to do that, anyway).

So, that was a workaround, but I think the real problem was that the HEAD wasn't tied to the current branch ('Fix'), but to an inactive branch ('dev1'). I'm not sure how to change the head on the remote repo?