前两天好像GitHub抽风的厉害,gfw不知道又在搞什么,反正导致想push东西push不上去,而纷印的代码又是放在GitHub上的,于是很是郁闷。
原先都是push到GitHub上再服务器上pull一下就好,现在服务器虽然还能连上GitHub,但是我本机连不上,导致代码更新不了。无奈之下,只得再祭出老办法,直接push到服务器。
首先git remote add,十分顺利的就建立了和服务器reposite的联系,但是push的时候,却出现了问题:
remote: fatal: Unable to create temporary file '/var/www/***/.git/./objects/pack/tmp_pack_XXXXXX': Permission denied error: unpack failed: index-pack abnormal exit To jayvic@***:*** ! [remote rejected] master -> master (unpacker error)
发现很明显是权限问题,毫无疑问,最简单的办法莫过于直接在把整个repository改成777,但是由于这个服务器并不是用来玩的,所以不太想这样做。
于是按照他要写的文件位置来进行权限修改,几次尝试之后,最终得到命令如下:
sudo chmod -R a+w objects/ logs/ refs/
修改完这三个文件夹的权限后,push的时候就没有权限问题了,但是需要注意的是,直接push还是会失败,不能push到当前的分支,要首先checkout到一个free的分支,push完后再checkout回来。