Hexo安装记

Hexo是啥 Hexo 是由 Node.js 驱动的一款快速、简单且功能强大的博客框架。可以快速将 Markdown 格式的文档生成静态页面。是越来越笨重的 Wordpress 和麻烦的空间管理的替代方案。 安装 Hexo 首先翻看一遍 Hexo 官方文档 环境准备 安装 Node.js & Git 该命令执行后,自动装好node和npm。 brew install node 配置 Git 按照Github提示,创建SSH秘钥: $ mkdir ~/.ssh #创建ssh命令 $ cd ~/.ssh $ ssh-keygen -t rsa -C "your_email@example.com" #注意更改Email地址 $ pbcopy < ~/.ssh/id_rsa.pub 此时,pdcopy命令已经将id_rsa.pub内容复制到剪切板。 登录 github:https://github.com/settings/ssh 点击Add an SSH Key,Title 部分填写一个所用电脑的名称,然后在Key部分填写之前通过pdcopy命令复制的内容。生成 key https://help.github.com/articles/generating-ssh-keys/ $ git config --global user.name "yourusername" $ git config --global user.email "youremail" 测试 可以输入下面的命令,看看设置是否成功,git@github.com的部分不要修改: $ ssh -T git@github.com 如果是下面的反馈: The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48. Are you sure you want to continue connecting (yes/no)? 不要紧张,输入yes就好,然后会看到: ...

May 30, 2016 · 5 min · 896 words · jabin

npm小结

随着一系列基于nodes的应用/工具的出现,无论在node应用的开发,还是使用中,包管理都扮演着一个很重要的作用。NPM(node package manager),作为node的包管理工具,极大地便利了我们的开发工作,很有必要了解一下。 NPM是什么 NPM(node package manager),通常称为node包管理器。顾名思义,它的主要功能就是管理node包,包括:安装、卸载、更新、查看、搜索、发布等。 npm的背后,是基于couchdb的一个数据库,详细记录了每个包的信息,包括作者、版本、依赖、授权信息等。它的一个很重要的作用就是:将开发者从繁琐的包管理工作(版本、依赖等)中解放出来,更加专注于功能的开发。 npm官网:https://npmjs.org/ npm官方文档:https://npmjs.org/doc/README.html 我们需要了解什么 npm的安装、卸载、升级、配置 npm的使用:package的安装、卸载、升级、查看、搜索、发布 npm包的安装模式:本地 vs 全局 package.json:包描述信息 package版本:常见版本声明形式 npm的安装 Mac 该命令执行后,自动装好node和npm。 brew install node npm包安装模式 在具体介绍npm包的管理之前,我们首先得来了解一下npm包的两种安装模式。 本地安装 vs 全局安装(重要) node包的安装分两种:本地安装、全局安装。两者的区别如下,后面会通过简单例子说明 本地安装:package会被下载到当前所在目录,也只能在当前目录下使用。 全局安装:package会被下载到到特定的系统目录下,安装的package能够在所有目录下使用。 npm install pkg – 本地安装 运行如下命令,就会在当前目录下安装grunt-cli(grunt命令行工具) npm install grunt-cli 安装结束后,当前目录下回多出一个node_modules目录,grunt-cli就安装在里面。同时注意控制台输出的信息: grunt-cli@0.1.9 node_modules/grunt-cli ├── resolve@0.3.1 ├── nopt@1.0.10 (abbrev@1.0.4) └── findup-sync@0.1.2 (lodash@1.0.1, glob@3.1.21) 简单说明一下: grunt-cli@0.1.9:当前安装的package为grunt-cli,版本为0.19 node_modules/grunt-cli:安装目录 resolve@0.3.1:依赖的包有resolve、nopt、findup-sync,它们各自的版本、依赖在后面的括号里列出来 npm install -g pkg- 全局安装 上面已经安装了grunt-cli,然后你跑到其他目录下面运行如下命令 grunt 果断提示你grunt命令不存在,为什么呢?因为上面只是进行了本地安装,grunt命令只能在对应安装目录下使用。 -bash: grunt: command not found 如果为了使用grunt命令,每到一个目录下都得重新安装一次,那不抓狂才怪。肿么办呢? 很简单,采用全局安装就行了,很简单,加上参数-g就可以了 npm install -g grunt-cli 于是,在所有目录下都可以无压力使用grunt命令了。这个时候,你会注意到控制台输入的信息有点不同。主要的区别在于安装目录,现在变成了/usr/local/lib/node_modules/grunt-cli,/usr/local/lib/node_modules/也就是之前所说的全局安装目录啦。 ...

May 29, 2016 · 2 min · 410 words · jabin

Git 常用命令速查表

配置 $ git config --global user.name "John Doe" $ git config --global user.email johndoe@example.com 创建版本库 $ git clone [url] #克隆远程版本库 $ git clone git://github.com/schacon/grit.git $ git clone git://github.com/schacon/grit.git mygrit $ git clone --bare my_project my_project.git #创建纯仓库 $ git init #初始化本地版本库 $ git init --bare #创建纯仓库 修改和提交 $ git status #查看状态 $ git diff #查看变更内容 $ git diff --cached #查看已经暂存起来的文件和上次提交时的快照之间的差异 $ git diff master...contrib #特性分支contrib和它同master分支的共同祖先之间的差异(合并时实际将要引入的新代码) $ git add . #跟踪所有改动过的文件 $ git add [file] #跟踪指定的文件 $ git mv [old] [new] #文件改名 $ git rm [file] #删除文件 $ git rm --cached [file] #停止跟踪文件但不删除 $ git commit -m "commit message" #提交所有更新过的文件 $ git commit --amend #修改最后一次提交 $ git commit -a -m 'added new benchmarks' #跳过暂存区域直接提交 查看提交历史 $ git log #查看提交历史 $ git log --pretty=oneline $ git log -p [file] #查看指定文件的提交历史 $ git log master..experiemnt #所有可从experiment分支中获得而不能从master分支中获得的提交 $ git blame [file] #以列表方式查看指定文件的提交历史 $ git log origin/featureA ^featureA #比较origin/featureA及featureA分支,查看origin/featureA更新了哪些内容 撤消 $ git reset --hard HEAD #撤消工作目录中所有未提交文件的修改内容 $ git reset --hard [commit] #会退到某个[commit] $ git reset HEAD [file] #取消已经暂存的文件 $ git checkout HEAD [file] #撤消指定的未提交文件的修改内容[已暂存] $ git checkout -- benchmarks.rb #取消对文件的修改[未暂存] $ git revert [commit] #撤消指定的提交 分支与标签 $ git branch #显示所有本地分支 $ git checkout [branch/tag] #切换到指定分支或标签 $ git checkout -b featureB origin/master #从分支origin/master克隆并创建分支featureB,切换至featureB $ git branch [new-branch] #创建新分支 $ git branch sc/ruby_client master #从master分支克隆一个sc/ruby_client分支 $ git branch -d [branch] #删除本地分支 $ git branch --merged #查看哪些分支已被并入当前分支 $ git branch --no-merged #查看哪些分支未被并入当前分支 $ git tag #列出所有本地标签 $ git tag [tagname] #基于最新提交创建标签 $ git tag -d [tagname] #删除标签 合并与衍合 $ git merge [branch] #合并指定分支到当前分支 $ git rebase [branch] #衍合指定分支到当前分支 远程操作 $ git remote -v #查看远程版本库信息 $ git remote show [remote] #查看指定远程版本库信息 $ git remote add [remote] [url] #添加远程版本库 $ git remote rename [old-remote-name] [new-remote-name] #远程仓库的重命名 $ git remote rm [remote] #远程仓库的删除 $ git fetch [remote] #从远程库获取代码 $ git pull [remote] [branch] #下载代码及快速合并至当前分支 $ git push [remote] [branch] #上传代码及快速合并 $ git push origin featureB[本地分支]:featureBee[远程分支] #推送本地分支至指定的远程分支 $ git push [remote] :[branch/tag-name] #删除远程分支或标签 $ git push --tags #上传所有标签 其他 $ git describe master #生成内部版本号 $ git archive master --prefix='project/' | gzip > 'git describe master'.tar.gz #打包成tar $ git archive master --prefix='project/' --format=zip > 'git describe master'.zip #打包成zip $ git stash #储藏 $ git stash list #查看储藏列表 $ git stash apply stash@2 #应用名为stash@2 的储藏。如果你不指明,Git 默认使用最近的储藏并尝试应用它 $ git stash drop stash@{0} #移除名为stash@{0}的储藏 $ git blame -L 12,22 simplegit.rb #文件标注 Git文件 .gitattributes #属性文件 ...

November 7, 2013 · 2 min · 402 words · jabin

Linux下重置MySQL root密码

1、停止MySQL服务 执行: /etc/init.d/mysql stop 你的机器上也不一定是/etc/init.d/mysql,也可能是/etc/init.d/mysqld 2、跳过验证启动MySQL /usr/local/mysql/bin/mysqld_safe --skip-grant-tables >/dev/null 2>&1 & 注:如果mysqld_safe的位置如果和上面不一样需要修改成你的,如果不清楚可以用find命令查找。 3、重置密码 等一会儿,然后执行: /usr/local/mysql/bin/mysql -u root mysql 出现mysql提示符后输入: update user set password = Password('要设置的密码') where User = 'root'; 回车后执行: flush privileges; 刷新MySQL系统权限相关的表。再执行: exit; 退出。 4、重启MySQL 杀死MySQL进程: killall mysqld 重启MySQL: /etc/init.d/mysql start

August 17, 2013 · 1 min · 42 words · jabin

VPS硬盘被撑满

早上打开博客,发现显示“无法连上数据库”,遂登录ssh,重启服务。重启后,Wordpress可以访问了,但是标签及分类目录全部丢失。一阵Google,百度后,大多说是缓存爆满导致。 df -lh 果然,硬盘空间全部满了。于是寻找是哪个目录的问题。 先du -sh /*, 在/home目录的地方卡住了,然后Ctrl+C, 然后 ll|grep -v "total"|grep -v "home"|awk '{print $9}'|xargs du -sh 发现其他目录不大,知道是/home目录的问题了 递归对/home目录使用上面的方法处理 最后,发现是wordpress目录下的 wp-content/cache/* 超过10G了,此目录是 W3 Total Cache插件 的缓存目录,清空以下目录: wp-content/cache/object/* wp-content/cache/db/* wp-content/cache/page/* wp-content/cache/tmp/* 重启服务,OK。 此文给使用W3TC插件的同学一个提醒。

April 12, 2013 · 1 min · 33 words · jabin