上周开始脑子又抽风了...把用了快两年的wordpress博客迁移到了静态的jekyll编译的静态博客.并且托管在了gitcafe上面,域名保持不变

期间遇到了很多的问题,几乎完全自己写了一个blog主题,也遇到了不少问题.详细的记录可以参考之后的某篇blog...( 如果没坑掉的话 )

不过本篇博客的主题是在提交代码的历史抹杀上面做文章

由于迁移的时候遇到了不少的坑,所以在gitcafe的gitcafe-pages分支有了很多很多的提交...而今天blog的整体基本可以重新上线了,就想要把之前的大片的commit历史清除掉.在这里记录下用到的命令

# 下面的分支可以改成对应的名称
# ^1 改成现年更要保留的历史提交数,我只想留最新的一次历史
git cat-file commit gitcafe-pages^1 | sed -e '/^parent/ d' > tmpfile
git rebase --onto $(git hash-object -t commit -w tmpfile) gitcafe-pages
rm -f tmpfile
rm -rf .git/logs
git gc

很简单的记忆清除...什么RS也能这样啊...唉~