Reputation: 9633
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
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