git储藏和清理
有时,当你的项目做一部分时,这是你想切换到其他分支,又不想提交,可以使用git stash
命令。
git stash
git stash
或者git stash save
会将修改未提交的文件保存到一个栈上,你可以在任何时候重新应用这些改动。
git stash list
git stash list
可以查看储藏的东西。如果存储了多次,就会有多个记录。
stash@{0}: WIP on me: 4c6f457 -
stash@{1}: WIP on me: 2e6cdb5 OK分支第一次修改
git stash apply
git stash apply
将刚刚储藏在栈上的内容还原,也就是还原stash@{0}
的内容。
如果想要应用中更早的储藏可以通过名字指定,如:git stash apply stash@{1}
git stash drop
或者
git stash pop
git stash drop
通过名字移除储藏的内容,如果不指定名字,默认删除最新的储藏内容。
如:
git stash drop # 默认删除stash@{0}
git stash drop stash@{2} # 删除stash@{2}的储藏内容
从储藏创建一个分支
git stash branch [branch_name]
清理工作目录
git clean
git clean
默认情况下只会移除没有忽略的未跟踪文件。任何与.gitiignore
或其他忽略文件中的模式匹配的文件都不会被移除。
git clean -f -d # 强制移除工作目录中的所有未跟踪的文件及空的子目录。
如:
$ git clean -f -d
Removing 4.txt
git clean -d -n # 可以或将要移除什么
如:
$ git clean -d -n
Would remove 5.txt
git搜索
git提供了一个grep
命令,可以很方便地从提交历史或者工作目录中查找一个字符串或者正则表达式。
默认情况下git会查找你工作目录的文件,你可以传入-n
参数来输出git所找到的匹配行号。
git grep -n [params]
你可以使用--count
选项来使git输出概述信息,仅仅包括哪些文件包含匹配以及每个文件包含了多少个匹配。
git grep --count [params]
如果你想看匹配的行是属于那个方法或函数,你可以传入-p
选项:
git grep -p [params]
git日志搜索
如果我们想知道这个参数是什么时候引入,我们可以使用-s
选项来显示新增和删除该字符串提交。
git log -s [参数]
展示代码中一行或者一个函数的历史
git log -L [参数]