简体   繁体   中英

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.

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM