LondonAppDev
LondonAppDev

Reputation: 9633

Cannot push git repository

I am using Windows 8, PuTTY and Git 1.8.5.2.msysgit.0.

I have a central git repository running on a Debian server. I can clone, push, pull, merge (do everything) between my multiple debian machines no problem.

I can clone and pull the git repo using git clone [user]@[host]:/usr/git/site.git and this will clone the git repo no problem.

The problem is when I try and push the changes on git to the central repo, I get this error:

warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:

  git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

  git config --global push.default simple

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

error: insufficient permission for adding an object to repository database ./objects

fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To [user]@[host]:/usr/git/site.git
 ! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to '[user]@[host]:/usr/git/site.git

I cannot figure out what is wrong, because it works fine if I push from another linux machine to the central repo.

Upvotes: 0

Views: 129

Answers (1)

Agis
Agis

Reputation: 33626

This happens when the user that tries to push does not have write access to the git repo in the remote server. You can this as follows:

$ ssh me@myserver
$ cd repository.git
$ sudo chmod -R g+ws *
$ sudo chgrp -R mygroup *
$ git config core.sharedRepository true

Upvotes: 1

Related Questions