Reputation: 12749
I'm trying to setup gitosis according to the instructions here.
It works fine from my remote machine so the server seems to be setup fine but I'd also like to be able to do development on my gitosis server machine from a different user account (not the git user created in the gitosis setup).
I've copied the key and modified the gitosis.conf so that the other user account has access but when I try to clone it seems to work except at the end it says:
git Warning: remote HEAD refers to nonexistent ref, unable to checkout
and I end up with an empty directory except for .git
I've google for this a bit but have no real insight into what the problem is
Upvotes: 41
Views: 53175
Reputation: 1
I use tortoiseGit and I'm not aware of how to use git via the command line. So I always wonder how I can avoid such problem in my tortoise. So maybe I am not alone. I fixed the problem this way:
Im my case, there was only a branch "dev", without master. So when I tried to clone there was no local branch to check out and as soon as I switched to "dev" it was able to check out all the content successfully. Hope that will be helpful.
Upvotes: 0
Reputation: 4729
One more possible cause for this warning might be that the master
branch in the repository is missing (OR) the repository does NOT use a master branch. If this is the case, just don't worry about the Warning!, use
git checkout <some_existing_branch>
The warning is because, by default, after the pull git tries to checkout into the master branch.
Upvotes: 18
Reputation: 1769
If you are trying to clone over http://
note that you need a git newer than 1.6.6 - otherwise you should use a git://
based URI.
Upvotes: 0
Reputation: 4068
Had a similar problem. It seems that on my first push I did git push origin master:/refs/heads/master
instead of git push origin master:refs/heads/master
(notice the extra slash). This caused my master to be placed (in the remote repository) at refs/heads/refs/heads/master
instead of refs/heads/master
. The fix was to reorganize the folders on remote and re-push.
Upvotes: 2
Reputation: 12749
I found out what was going wrong. The problem was that I wasn't paying attention to the warnings when I was pushing to my gitosis server so I didn't realize that I wasn't pushing a particular branch. I had assumed it would just push the current but that isn't the case until you set:
git config push.default current
Upvotes: 25
Reputation: 139471
Keep it simple. Add to gitosis authorization and SSH key for the user account on your server and clone as usual:
user@server$ git clone git@server:repo.git
Upvotes: 1
Reputation: 143081
Do the git branch -r
and git checkout -b master <remotebranchofinterest>
Check the HEAD
file in remote .git.
Check if somebody already asked the question: here
Upvotes: 22