-2

Possible Duplicate:
Git push error '[remote rejected] master -> master (branch is currently checked out)'

i will install an own viewer (a git web repository viewer that aims to be easy to set up and upgrade, light on dependencies, and comfortable to use) for my git and current works fine, but I have much trouble to use the own git. Before I only uses github as service. Now, on my own webspace it is possible to us install git and I have create this. But I get the follow message, if I push my new changes on source. Before i have send commit, and add files to the repo; but the push to the master is not possibele; only the follow messages is the answer.

remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error: 
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error: 
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
Community
  • 1
  • 1
bueltge
  • 2,294
  • 1
  • 29
  • 40

1 Answers1

1

If you've set up a git repository on your own server, and want to use it as a central repository to push from/pull to, it should be a bare repository, not a normal one.

(A bare repository doesn't have a branch checked out.)

You create a bare repository with:

git clone --bare

or possibly:

git init --bare
Mat
  • 202,337
  • 40
  • 393
  • 406
  • Hi Mat; wyh? I develop localy and will commit and push to th central server in the web. What is the task of the bare? And why it is usaly to clone the repo in te bare? Thanks! – bueltge Sep 11 '11 at 11:59
  • @bueltge: erm... to avoid the problems you were seeing. pushing to a non-bare remote will not update the working tree for a checked out branch. This could lead to data loss, which is why you get the warnings – sehe Sep 11 '11 at 12:03
  • git config --bool core.bare true in the remote repo and then works fine, thanks – bueltge Sep 12 '11 at 20:33