2

所以我对 Git 和一般开发来说是全新的。我是几台不同机器上的 Linux 和 Mac 用户,并且有几个使用 AWS 的云服务器,我在所有这些机器上都从事小型 Python 项目。

我将首先尝试解释我想要什么,希望我已经接近拥有适用于我的用例的最佳解决方案。我希望能够在我拥有的任何设备上编写代码,包括家里的 Ubuntu 桌面、工作 Macbook、云服务器、工作中的 Ubuntu 桌面和个人 Macbook。显然我正在使用不同的主机名和用户名,我是唯一一个在我的代码上工作的人。

我浏览了 git 指南,它正在工作,有点。我试图在我的云服务器上设置我的存储库,我也将更改代码。我一直在尝试从我的 Macbook 提交和推送,但一整天都收到一连串权限错误,我不得不返回 repo 并 chown -R 作为我的 ssh 轮用户,因为那里的每个对象都在获取覆盖为根。

以下是我在尝试从我的 macbook 推送时看到的一些示例错误消息:

一个提交:

macbook:dev macbookuser$ git commit
# On branch master
# Your branch is ahead of 'origin/master' by 6 commits.
#
nothing to commit, working directory clean

然后是推:

macbook:dev macbookuser$ git push
user1@myserver-aka-repo.com's password: 
Counting objects: 18, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (12/12), done.
Writing objects: 100% (14/14), 1.62 KiB, done.
Total 14 (delta 7), reused 0 (delta 0)
error: insufficient permission for adding an object to repository database ./objects

fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To user1@myserver-aka-repo.com:/home/myserver-aka-repo/dev/.git
! [remote rejected] master -> master (n/a (unpacker error))
error: failed to push some refs to 'user1@myserver-aka-repo.com:/home/myserver-aka-repo/dev/.git'
4

1 回答 1

1

如果 chown 并且umask 0002没有在服务器上修复此问题,请确保您推送到的 repo 已与正确的模式共享。

 git config core.sharedRepository

有关此选项的更多信息,请参阅“ Git 推送错误:将对象添加到存储库数据库的权限不足”。

我通常设置core.sharedRepositoryumask,并将我的设置umask0002

于 2012-11-06T07:49:08.990 回答