我一直在和其他几个人一起做一个项目,我使用命令行git,他们在Netbeans中使用git(在Mac上)。今天早上,当我还能工作的时候,他们对大师的努力开始莫名其妙地失败了。我甚至可以强迫他们提交,但他们只能拉。仓库是托管在我们的内部网络上,他们没有问题连接到git外部,他们没有问题,他们推到其他分支(我可以拉和合并到主,然后推回来没有任何问题)。
这是一个日志。
==[IDE]== 21-set-2016 11.54.00 Committing... finished.
==[IDE]== 21-set-2016 11.54.26 Pushing - Git-repo
git branch
git remote -v
setting up remote: origin
git submodule status
git push path/to/remote/repo
Remote Repository Updates
Branch Update : master
Old Id : 1c7c9cca6fc8ddcaad4adadb7d0b4379ee8b9775
New Id : a093da347b6f7d4b3eceb880dd68da34139dae3a
Result : REJECTED_OTHER_REASON
Local Repository Updates
Branch Update : master
Old Id : 1c7c9cca6fc8ddcaad4adadb7d0b4379ee8b9775
New Id : a093da347b6f7d4b3eceb880dd68da34139dae3a
Result : NOT_ATTEMPTED
==[IDE]== 21-set-2016 11.54.29 Pushing - Git-repo finished.
编辑:我尝试使用命令行,得到一些更清晰的错误日志
iMac-di-administrator-2:Git-repo user$ git push origin master
Total 0 (delta 0), reused 0 (delta 0)
error: Unable to append to ./logs/refs/heads/master: Permission denied
To path/to/remote/repo
! [remote rejected] master -> master (failed to write)
error: failed to push some refs to 'path/to/remote/repo'
但是,再一次,我没有遇到权限方面的问题,我们在远程机器上使用相同的用户登录。
我假设其他用户有足够的权限,在它开始失败之前他们已经使用了很长一段时间。
修复了当错误为Unable to append to ./logs/refs/heads/master
git fsck —unreachable
git reflog expire —expire=0 —all
git repack -a -d -l
git prune
git gc —aggressive
如果你通过https检查repo并使用你的信用,它将在Netbeans中工作,但是当你想使用它时,你必须从命令行进行身份验证。:/尝试创建一个远程为每个默认是ssh和netbeans仍然没有它。