这里整理的用到过git stash的场景,以下场景用过git stash就知道方便
Git系列的目录如下:
Git常用命令整理一(Git stash)
Git常用命令整理二(Git托管项目)
Git常用命令整理三(Git配置)
Git常用命令整理四(Git删除文件)
Git常用命令整理五(Git疑难杂症)
Git常用命令整理六(创建分支的子分支)
Git常用命令整理七(稀疏检出)
Git常用命令整理八(忽略文件)
Git常用命令整理九(忽略跟踪)
Git常用命令整理十(优雅用法)
Git常用命令整理十一(各种撤回)
git stash的含义以及命令解释,这里不做讨论,可以通过以下命令查看完整说明文档
git stash --help
0、在一个branch上开发,类方法写了一半,需要紧急上线修复线上bug。(当然先commit, 在切到master也可以,但是没有stash方便)
git stash git checkout master # 修复bug, 然后commit, 在push后上线 git stash pop # 还原原来的工作区
1、仿真机上branch是做了代码性能优化的分支,分别打印branch和master优化代码执行时间。
git checkout branch
$stime = microtime(true); // 优化的method $etime = microtime(true); $internal_time = round(($etime - $stime), 3); var_dump($internal_time, 2333);
# run 代码 打印优化后的时间 git stash git checkout master git stash pop # run 代码 打印优化前的时间
2、仿真环境一个功能两种方式临时改写后观察效果
git checkout branch # 先删除所有的stash git stash clear > coding 方案一 git stash > coding 方案二 git stash # 查看两次stash git stash list // stash@{0}: WIP on master: dcbb92f add cache // stash@{1}: WIP on master: dcbb92f add cache # 恢复到第一次[注:每次stash是一个压栈的过程,后进先出, 栈顶的编号是stash@{0}] git stash pop stash@{1}
如果想恢复到最新stash的内容,又不出栈可以使用git stash apply