Git push很挑剔

Git push很挑剔,git,push,Git,Push,我在使用git时遇到了很多问题(而且,我是新手)。很多时候,当我尝试git push时,我会遇到错误。见下文: Counting objects: 8, done. Delta compression using up to 4 threads. Compressing objects: 100% (5/5), done. Writing objects: 100% (5/5), 6.03 KiB | 0 bytes/s, done. Total 5 (delta 2), reused 0 (d

我在使用git时遇到了很多问题(而且,我是新手)。很多时候,当我尝试git push时,我会遇到错误。见下文:

Counting objects: 8, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (5/5), done.
Writing objects: 100% (5/5), 6.03 KiB | 0 bytes/s, done.
Total 5 (delta 2), reused 0 (delta 0)
remote: error: insufficient permission for adding an object to repository database ./objects
remote: fatal: failed to write object
error: unpack failed: unpack-objects abnormal exit
To /Volumes/batcave/sourceControl/x.git
 ! [remote rejected] master -> master (unpacker error)
error: failed to push some refs to '/Volumes/batcave/sourceControl/x.git'
奇怪的是,如果我输入:

git reset --hard origin/master
然后

并在testfile.txt中输入文本,然后执行通常的操作:

git add .
git commit -a -m"added testfile.txt"
git push
这种推动是有效的。所以我不相信这是因为我没有得到适当的许可。此外,有时如果我打开在emacs中推送时遇到问题的文件并添加和删除一些返回,那么它就可以工作了


关于更多信息,我正在使用git存储库使我的台式电脑和mac笔记本电脑保持同步。

您正在使用一个似乎已装入的文件系统在系统之间跨越权限模型。当系统与Mac OS和windows一样不同时,这是不可取的。推送时,您正在编写新文件和修改索引。通过共享访问,您可能以不同权限的用户身份尝试这些操作。相反,您应该在两个系统之间使用网络协议,以便文件操作始终在同一上下文中执行

如果代码是你不介意公开的东西,那么最快的方法就是使用现有的免费git服务器,比如。这两个系统都会从主机上拉和推。这是我的建议


否则,选择一个系统作为“服务器”,并在两个系统之间设置基于SSH密钥的身份验证,以便使用git协议进行访问。本质上,这意味着客户机系统应该以服务器的身份访问服务器user@server拥有回购文件的人。(也有可能,尽管可能没有必要设置两个彼此对称的按钮,以便双方都可以使用SSH授权的\u键进行推送或拉送。)

您能给出用于失败推送的确切命令吗?以及(可能匿名的)输出表单
git remove-v
?您是从pc还是mac进行推送?还是双向?两个存储库都已满?还是一个空的存储库?
git add .
git commit -a -m"added testfile.txt"
git push