pydata

Keep Looking, Don't Settle

fix git error for blog

为了自动给blog备份,我把blog放在dropbox里面,这样主机和vmware上的ubuntu_dl机器可以同步,而且dropbox在线还有一份,这样不同意丢了。即使不小心删掉也会有online的备份。

可是一个问题是老是会出现git的error,比如

hhh@ubuntu:~/Dropbox/blog/output$ git commit -m "test"
error: object file .git/objects/d2/f4c036db03671b6d859b137e4ccdc06383fb14 is empty
error: object file .git/objects/d2/f4c036db03671b6d859b137e4ccdc06383fb14 is empty
fatal: loose object d2f4c036db03671b6d859b137e4ccdc06383fb14 (stored in .git/objects/d2/f4c036db03671b6d859b137e4ccdc06383fb14) is corrupt

hhh@ubuntu:~/Dropbox/blog/output$ git commit -m "test"
fatal: could not parse HEAD

好像是.git下面的文件因为dropbox同步什么的出现了问题。解决的办法也很简单。

  1. blog/output文件夹, cd output, 删掉里面的.git文件夹 rm -rf .git
  2. clone github的文件 git clone git@github.com:songhuiming/songhuiming.github.io.git
  3. 这个时候在output文件夹下面会出现文件夹songhuiming.github.io
  4. songhuiming.github.io里面的.git文件夹复制到output下面, cp -rf songhuiming.github.io/.git .
  5. 删掉文件夹songhuiming.github.io
  6. 重新到blog文件夹下面make html然后就可以正常git commitgit push