1 maxiujun 2014-06-20 12:40:12 +08:00 看样子使用的是 http 吧, http 问题比较多. |
![]() | 3 TankyWoo 2014-06-20 14:19:27 +08:00 确认下 .git/objects/ 以及里面的权限 本地用strace跟踪下 gitlab服务端没日志吗? |
![]() | 4 yueyoum OP |
5 maxiujun 2014-06-20 15:04:08 +08:00 是不是 push 的东西太大了? |
![]() | 6 yueyoum OP @maxiujun 可能是, 那个仓库有很多 二进制文件, 但是我也添加了 这些配置 [core] autocrlf = input packedGitLimit = 128m packedGitWindowsSize = 128m [pack] windowMemory = 128m packSizeLimit = 128m deltaCacheSize = 128m threads = 1 依然不行 git gc git repack remote/origin/master git fsck 都做过了 |
![]() | 7 standin000 2014-06-20 16:32:33 +08:00 先用户ssh过去,看权限。 |
8 JeffenCheung 2016-03-30 16:53:34 +08:00 以下 Stack Overflow 的 Winfield 方案可行: http://stackoverflow.com/questions/20310718/git-push-results-in-fatal-sha1-file-stdout-write-error-invalid-argument upd. via. if the latest commit has already been pushed, create a NOOP commit and force-deploy it: touch foo.txt git add foo.txt git commit -m 'NOOP' git push -u origin master --force ...and if that works, you can remove the NOOP commit you made locally: git reset --hard master |