+1 vote
1 view
in Devops and Agile by (20k points)

Yesterday, I posted a question on how to clone a Git repository from one of my machines to another, How can I 'git clone' from another machine?.

I am now able to successfully clone a Git repository from my source (192.168.1.2) to my destination (192.168.1.1).

But when I did an edit to a file, a git commit -a -m "test" and a git push, I get this error on my destination (192.168.1.1):

git push                                                

[email protected]'s password: 

Counting objects: 21, done.

Compressing objects: 100% (11/11), done.

Writing objects: 100% (11/11), 1010 bytes, done.

Total 11 (delta 9), reused 0 (delta 0)

error: refusing to update checked out branch: refs/heads/master

error: By default, updating the current branch in a non-bare repository

error: is denied, because it will make the index and work tree inconsistent

error: with what you pushed, and will require 'git reset --hard' to match

error: the work tree to HEAD.

error: 

error: You can set 'receive.denyCurrentBranch' configuration variable to

error: 'ignore' or 'warn' in the remote repository to allow pushing into

error: its current branch; however, this is not recommended unless you

error: arranged to update its work tree to match what you pushed in some

error: other way.

error: 

error: To squelch this message and still keep the default behaviour, set

error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.

To git+ssh://[email protected]/media/LINUXDATA/working

! [remote rejected] master -> master (branch is currently checked out)

error: failed to push some refs to 'git+ssh://[email protected]/media/LINUXDATA/working'

I'm using two different versions of Git (1.7 on the remote and 1.5 on the local machine). Is that a possible reason?

1 Answer

0 votes
by (28.4k points)

You can convert your remote repository to bare repository (there is no working copy in the bare repository - the folder contains only the actual repository data).

In your remote repository folder run the following command:

$ git config --bool core.bare true

Now you can delete all the files except .git in that folder. After that, you will be able to perform git push to the remote repository without any errors.

To learn more, you can visit the git tutorial and git commands.

Welcome to Intellipaat Community. Get your technical queries answered by top developers !


Categories

...