Git常用命令整理一(Git stash)

这里整理的用到过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

发表评论

电子邮件地址不会被公开。 必填项已用*标注