Question

I will show You what I am doing step by step on server (ubuntu server 12.04) and local (ubuntu 12.04):

Server :

mkdir foo
cd foo
git init

(btw.) pwd /home/andrzej/repository/foo

Everything ok:-).

Local :

mkdir test
cd test
git clone andrzej@192.168.1.20:/home/andrzej/repository/foo
(password)
cd foo
(copy some file - e.g. fake.txt)
git add *
git commit -m "Add fake file"

Everything ok:-).

And now :

git push origin master
(password)

ERROR :
Counting objects: 3, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (3/3), 1.33 KiB, done.
Total 3 (delta 0), reused 0 (delta 0)
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'.
To andrzej@192.168.1.20:/home/andrzej/repository/foo
 ! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'andrzej@192.168.1.20:/home/andrzej/repository/foo'

What I am doing wrong? I can add that some time ago I have created one repository which name was "repogit" just to test and everything was alright. (git init... step by step). Now I want to create the second repo. I getting an above error. Maybe this is the problem? I cannot create second repo?

Was it helpful?

Solution

The original repository should be bare for you to easily do so.

It means that it should have been initialized with --bare option:

git --bare init

Otherwise you can make the existing repository bare following the instructions from this answer.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top