查看git文件修改历史

使用Git 跟踪单个文件的修改历史。

开发的时候经常会碰见这样的情况,需要跟踪单个文件的修改历史,在CVS 或者 SVN , 有一些GUI工具帮助做这些工作,在git上应该也有,不过一直没有发现。可以通过命令行来查看修改历史,也还算比较方便。

查看详细历史

git log -p filename
查看文件的每一个详细的历史修改,如果没有-p选项,只显示提交记录,不显示文件内容修改,git log -p -3 filename 显示最近的3次提交。

git log –pretty=oneline filename
每一行显示一个提交,先显示哈希码,再显示提交说明。

恢复该文件:

git reset commit 版本号 filename

提交git:

git commit -m “注释”

git blame filename
查看文件的每一行具体是谁提交和修改的

发表在 git | 留下评论

Redis有序集合

集合(Set)

集合中最大的成员数为 2的32次方 – 1 (4294967295, 每个集合可存储40多亿个成员)

添加 sAdd

redis 127.0.0.1:6379> SADD w3ckey redis
(integer) 1
redis 127.0.0.1:6379> SADD w3ckey mongodb
(integer) 1
redis 127.0.0.1:6379> SADD w3ckey mysql
(integer) 1
redis 127.0.0.1:6379> SADD w3ckey mysql
(integer) 0
redis 127.0.0.1:6379> SMEMBERS w3ckey

1) “mysql”
2) “mongodb”
3) “redis”

Sismember 命令判断成员元素是否是集合的成员

redis 127.0.0.1:6379> SADD myset1 “hello”
(integer) 1
redis 127.0.0.1:6379> SISMEMBER myset1 “hello”
(integer) 1
redis 127.0.0.1:6379> SISMEMBER myset1 “world”
(integer) 0

查看是否存在该Key
exists UserListByCourse_154

发表在 redis | 留下评论

查询占用内存主要进程

VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量
RES:resident memory usage 常驻内存
1、进程当前使用的内存大小,但不包括swap out
2、包含其他进程的共享
3、如果申请100m的内存,实际使用10m,它只增长10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小

#查询占用内存主要进程
ps aux|head -1; ps aux | sort -k4nr | head -30

发表在 php异常 | 留下评论

PHPStorm 常用快捷键

一键美化代码:
option + command + l

选中代码中的变量 control + t
可以对代码进行rename 重命名、inline将变量去掉,代替变量、variable是将当前选中的内容放入变量中、method是重构代码片段为一个方法

多点编辑
光标移动到需要编辑的地方,然后control+g,选中一处,如果需要选择下一处,则重复按,但是貌似只能向下选择
control + shift + g是撤销上一次选择
control + command + g是选择当前文件所有match的

快速创建文件
command + 向上 可以选择面包屑导航
command + n 完成文件的创建

快速查找文件
shift + command + o

查看php文件里面的function结构
默认是 command + F12,但是这个快捷键可能被别的热键占用了,所以需要自定义快捷键,command + , 调出偏好设置,搜索keymap,输入File Str找到对应的快捷键,然后添加自己喜欢的快捷键,然后删除之前的 command + F12

快速切换最近查看的文件
command + e 连续按可以实现两个文件之间的快速切换

快速定位function
option + command + o

快速移动一行
command + shift + 上下键

软回车,不论光标在当前行的任何位置,都可以跳转到下一行
shift + enter

跳转到制定行
command + L

跳转上一次点击的位置
Command+[

跳转下一次点击的位置
Command+]

发表在 小技巧 | 留下评论

git rebase

http://blog.chinaunix.net/uid-27714502-id-3436696.html

发表在 git | 留下评论

CentOS7安装salt

#master
curl http://mirrors.aliyun.com/repo/Centos-7.repo -o /etc/yum.repos.d/CentOS-Base.repo
yum install epel-release -y
yum install salt-master -y
service salt-master start
service firewalld stop
setenforce 0
getenforce
salt-key -L
salt-key -A -y
salt-key -L
salt dev3 test.ping
salt dev3 cmd.run ‘hostname -i’

#minion
curl http://mirrors.aliyun.com/repo/Centos-7.repo -o /etc/yum.repos.d/CentOS-Base.repo
yum install epel-release -y
yum install salt-minion -y
echo “master: 192.168.31.210″ > /etc/salt/minion
service salt-minion start
service firewalld stop
ps -ef | grep salt | grep -v grep

发表在 运维 | 留下评论

sort用法

http://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html

发表在 bash | 留下评论

Mac设置主机名称

sudo scutil –set HostName MacBookPro

发表在 小技巧 | 留下评论

ITerm2 记住主机信息自动登录

http://www.cyblogs.com/macrang-iterm2ji-zhu-yong-hu-ming-mi-ma-expect/

发表在 小技巧 | 留下评论

Mac上安装Nodejs


	1、安装nodejs
		ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install);"
		brew install node

		测试
		node -v
		npm -v

	2、安装pm2 (node进程管理器)
		npm install -g pm2

		pm2常用命令
			$ pm2 start app.js -i 4  # 后台运行pm2,启动4个app.js 
			                         # 也可以把'max' 参数传递给 start
			                         # 正确的进程数目依赖于Cpu的核心数目
			$ pm2 start app.js --name my-api # 命名进程
			$ pm2 list               # 显示所有进程状态
			$ pm2 monit              # 监视所有进程
			$ pm2 logs               # 显示所有进程日志
			$ pm2 stop all           # 停止所有进程
			$ pm2 restart all        # 重启所有进程
			$ pm2 reload all         # 0 秒停机重载进程 (用于 NETWORKED 进程)
			$ pm2 stop 0             # 停止指定的进程
			$ pm2 restart 0          # 重启指定的进程
			$ pm2 startup            # 产生 init 脚本 保持进程活着
			$ pm2 web                # 运行健壮的 computer API endpoint (http://localhost:9615)
			$ pm2 delete 0           # 杀死指定的进程
			$ pm2 delete all         # 杀死全部进程

		测试
			pm2 -v

	3、调试demo

		编辑js文件 helloworld.js

		var http = require('http');
		http.createServer(function (req, res) {
		    res.writeHead(200, { 'Content-Type': 'text/plain' }); res.end('Hello World\n'); 
		}).listen(9898, "127.0.0.1"); 
		console.log('Server running at http://127.0.0.1:9898/');

		启动
		pm2 start helloworld.js --name 'helloworld'

		测试

http://localhost:9898/

参考资料:

http://www.expressjs.com.cn/starter/static-files.html

http://www.4u4v.net/from-scratch-using-react-webpack-nodejs-express-rapid-construction-project.html

http://www.jianshu.com/p/42e11515c10f

发表在 Nodejs | 留下评论