Hello, Hexo Blog!

呼呼,一直想搭个博客,但是一直太懒了=.=…还跑到jekyll bootstrap那里去走了一些弯路。直到发现了Hexo。实在太赞!

下面就写一下搭建Hexo博客的主要流程好了。顺便给自己备忘备忘。
因为是回忆用,所以博客文章写得会尽可能地精简,直白,不拘小节,向当年Matrix67超牛的5000字总结看齐。各种总结也会是以后主题。会中文这种冗余超低的语言,总结起来真的是超幸福的好嘛!
哈哈,不过会尽可能地说浅显的啦!
希望能够一直坚持吧!这个过程不免漫长而痛苦。不过这一年的面试经验说明,不努力一下,遗忘曲线两年就会到底的啦!甚至可以遇见我研究生之后找工作的最大担心就是本科的知识丢得差不多了吧= =b当年信息安全实验课漏掉了的笔记和程序真是让我超级超级心痛啊啊啊TAT!

git设置

  1. 安装git,弄好SSH登录。
1
2
$ sudo apt-get install git git-core git-doc git-gui
$ ssh-keygen -t rsa -C "fenixlin@yandex.com"

放置id_rsa.pub到github.com(个人设置页就有)

1
2
3
$ ssh -T git@github.com
$ git config --global user.name "fenixlin"
$ git config --global user.email "fenixlin@yandex.com"
  1. 常用的github命令(创建目录时要在网页里创建):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
$ git clone https://github.com/fenixlin/hexo_blog
$ git init
$ git status #对比commit看现在修改了什么文件
$ git pull #git pull --rebase可以手动合并线上和现有commit之间的冲突
$ git add -p #对多个特性的修改分块commit,y提交n不提交s分割d下个文件
$ git add -A #添加所有文件
$ git commit -a #如果用--amend就可以补漏,和上一次commit合并
$ git remote add origin https://github.com/fenixlin/hexo_blog
$ git remote -v #查看已存储的远程git地址
$ git config -l #查看git配置,注意邮箱要和git设置上一致
$ git push -u origin master
$ git reset --soft __commitID__ #回滚到__commitID__的commit,改动退回暂存区,之后再git commit -m就好了,新内容也会合并
$ git revert HEAD~n #以新commit的方式撤销前面n个commit的改动
$ git mergetool #一个用来合并diff的可视化工具
$ git checkout __branch name__    #切换所在分支(还有创建/比对等功能)
$ git checkout __file name__ #恢复file到上次commit状态
$ git checkout -f #恢复所有文件到上次commit状态
$ git branch #查看所在分支
$ git log #查看git历史,--oneline简化--graph图示。git reflog可以查看包括删除了的commit。
$ git cherrypick __commitID__ #将其他分支的commit应用到当前分支。
$ git rebase #线上代码和本地代码形成两条路线时,可避免git pull必然带来的merge。如有冲突,修复后git rebase --continue即可。
$ git rebase -i HEAD~n #压缩最近n个commit
$ git blame __file name__ #查看文件每一行最后改动人
$ git stash #将现有改动放到一边,git stash [list|apply|clear] 查看/恢复/清除
$ git bisect [start|bad|good] #在多个commit里面进行二分查找确定引入bug的commit

另外,编辑.gitignore可以忽略匹配其某行的文件,对所有人生效。而.git/info/exclude则只是对本开发者生效

Hexo下载与设置

我是在Ubuntu 14.04下面上传的。外面Windows的教程偏多,就不赘述了。

安装node.js。下面是官网推荐的方法。

1
2
3
$ wget -qO- https://raw.github.com/creationix/nvm/master/install.sh | sh
$ nvm ls-remote
$ nvm install 0.10

我好像是以前在nodejs直接下载的。所以也可以下载好之后

1
2
3
$ ./configure
$ make
$ sudo make install

然后

1
$ sudo npm install -g hexo

找一个目录

1
2
$ hexo init
$ npm install

博客更新(之前要在_config.yml设置好)

1
2
3
$ hexo clean
$ hexo generate
$ hexo deploy

写博客(模板在scaffolds/post.md)

1
$ hexo new post __博客名字__

博客模板目前用的是Yilia
很赞,不赘述。更新是themes/yilia下git pull

最后瞎掰一下博客的计划

毕竟沉淀下来的,能够教得会别人的,才是自己的东西啊。有空了突然就有了写博客的愿望。
最近会写的

  • Machine Learning的课程总结
  • C, C++, Java, 函数式语言的思想总结对比
  • Verilog/体系结构/汇编语言/嵌入式的总结
  • ACM接触到的一些算法
  • 编译原理/操作系统/数据库一些理论性的总结
  • 软件工程概念及UML图的总结
  • 百度实习经历的总结
  • 数值分析总结
  • 软件安全及实验课的总结
  • Linux/gdb/gcc之类的一点总结……

希望顺利吧。
也向看完这篇博客的所有同学问好!