问题描述
今天push代码 发现git报错如下
unable to create temporary sha1 filename!
网上找了下 发现几乎没有这个问题 有几个相似的问题 有的说版本库xxx.git权限不对 登陆到服务器上
排查过程
[xxx@xxx xxx]# ll | grep xxx.git
drwxr-xr-x 7 git git 4096 11月 1 19:00 xxx.git
发现权限没有问题 git用户 755权限 没有问题 然后我就觉得这不是一个简单的问题
请系好安全带 老司机要转弯了 非正常问题要用非正常思维来考虑 果然
[xxx@xxx xxx]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 20G 19G 23M 100% /
tmpfs 1.9G 0 1.9G 0% /dev/shm
磁盘满了 shit!
常见情况及解决办法
感谢mingdh258同学的提醒 断电造成的磁盘锁定也会造成这种问题
在这里总结一下 git类似unable to write/create的错误 基本上都是git服务器的写入问题 目前已知的情况如下
1.服务器磁盘写满 导致无法写入 解决办法 清理磁盘分区
2.系统没有正常关机导致虚拟磁盘出现文件系统错误 可能只是一个分区也节能整个文件系统被锁定 在server上 mkdir会提示 Read-only file system!等提示 解决办法
查看下磁盘状态
[xxx@xxx ~]# fdisk -l
Disk /dev/vda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00078f9c
Device Boot Start End Blocks Id System
/dev/vda1 * 1 5222 41940992 83 Linux
Disk /dev/vdb: 107.4 GB, 107374182400 bytes
255 heads, 56 sectors/track, 14685 cylinders
Units = cylinders of 14280 * 512 = 7311360 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf0ba90c3
Device Boot Start End Blocks Id System
/dev/vdb1 1 14685 104850872 83 Linux
查看文件系统类型
[xxx@xxx ~]# mount
/dev/vda1 on / type ext4 (rw,barrier=0)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
修复
重启系统后使用root进入单用户模式,运行
fsck.ext3 -y /dev/vda3
注意 ext3的文件系统使用fsck.ext3修复 ext4文件系统使用fsck.etx4修复 修复过程有时候会比较长
3.最常见的情况的 也就是版本库没有写入权限 ll | grep xxx.git 检查下权限
[xxx@xxx xxx]# ll | grep xxx.git
drwxr-xr-x 7 git git 4096 11月 1 19:00 xxx.git
首先 目录用户及用户组为git 其次 755权限 如与上述不一样请运行
chown -R git.git xxx.git/
chmod -R 755 xxx.git/
如果帮到你 麻烦在下面留个言 如果我描写的情况跟你的有所不同 麻烦留言告知我一下 我会帮助你解决并完善本为以帮助更多人
更多推荐
git push error unable to create temporary sha1 filename
发布评论