Git stash

git stash 备份当前的文件.
git stash pop: 从Git栈中读取最近一次保存的内容,恢复工作区的相关内容。
git stash pop stash@{1} 恢复指定的stash
git stash list: 显示Git栈内的所有备份,可以利用这个列表来决定从那个地方恢复。
git stash clear: 清空Git栈。此时使用gitg等图形化工具会发现,原来stash的哪些节点都消失了。

Git diff

 git diff 当前工作目录和上次提交与本地索引间的差异。
 git diff master..develop 比较master和develop这两个分支版本差异
 git diff master...develop 比较master和develop这两个分支 分支间的差异
 git diff --stat 查看哪些文件被修改,其实用git status也可以看到
 git diff HEAD  上面这条命令会显示你工作目录与上次提交时之间的所有差别  
 git diff     ORIG_HEAD 比较内容和上次提交时的差异
 git diff master^..master~2  ^表示上一次 ~2表示上上次. 依此类推.比较上次和上上次文件提交的差异
 git diff --cached 比如缓冲区
 以上命令都可以加上目录名.这样就只比较某个目录了

Git 打包

Git 文件打包
http://www.kernel.org/pub/software/scm/git/docs/git-archive.html


#打包所有文件
#如果没有--format。可以设置包名来控制格式
$git archive --format=zip -o filename.zip HEAD
HEAD 还可以是指定的哈希值. Tag标签. 分支名

#打包指定哈希值前的文件
$git archive --format=zip -o filename.zip 09916b25d87c7ea

#打包指定对象的指定目录
#将最新的文件目录下面的demos和srv进行打包
$git archive -o filename.zip HEAD^ demos srv

--format   压缩格式  git archive --format=zip
--prefix   对你当前的所有目录与文件加上前缀  git archive --prefix=mypre, 如果前缀是--prefix=mypre/  
这样的话就会把文件压缩在你的mypre目录下面

-o   压缩成指定文件名

#打包远程文件
$git archive --format=zip -o test.gzip --remote=dev  master index.php

JavaScript 节点操作

/**
nodeName获取标签名
tagName 也是获取标签名
nodeType 获取元素节点的类型值 

元素节点的类型值是1,
属性节点的类型值是2
文本节点的类型值是3

nodeValue 只有文本节点才有nodeValue

firstChild.nodeValue获取第一个子节点
lastChild.nodeValue获取最后一个子节点
nextSibling 获取下一个元素节点
parentNode 获取父节点
previousSibling 返回一下个节点
remoteChild('node') 移除某个子节点
childNodes  获取所有子节点


操作元素节点和
获取指定属性
demo.getAttribute("id");
demo.attributes 获取所有属性

过滤文本空节点
*/

function filterWhiteNode(node) {

	nodec = node.childNodes;

	if(nodec.length == 0) return nodec;

	for (var i = 0; i < nodec.length; i++) {
		if(nodec[i].nodeType ===3 && /^\s+$/.test(nodec[i].nodeValue)) {
			nodec[i].parentNode.removeChild(nodec[i]);
		}
	};

	return node;

};