git stash

175 阅读1分钟

我们应该想到git stash

# 保存当前未commit的代码
git stash
# 保存当前未commit的代码并添加备注git stash save "订单详情"

# 应用最近一次的stashgit stash apply

# 应用最近一次的stash,随后删除该记录git stash pop

# 删除最近的一次stashgit stash drop

删除stash的所有记录git stash clear

#查看所有记录git stash list
#还原某个版本git stash apply stash@{stash_id}
复制代码

所有的命令我都罗列于此

所以话不多说,开干

git stash save '订单详情组件封装完成'

//此时我们可以切换分支
经过一系列的操作之后
//切换到当前分支

1.懒人操作
- 如果不想麻烦and墨迹,直接操作
git stash apply

2.如果想秀一波
- 那么好,操作
git stash clear

啊......

其实我想操作git stash list

来吧,继续操作~

当误操作git stash clear时,我们应该打印所有的提交列表
git log --graph --oneline --decorate  $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )
如果在这个输出的内容中可以找到你提交 那么可以通过提交的id来找回

当内容无法找到时间,我们继续操作
git log --graph --oneline --decorate  $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' ) >1.txt
这个命令是将输出内容输出到1.txt文件中,在文件中可以通过搜索你保存时的关键字来进行找到id

再次执行
git stash apply id

3.当我们手不抖~

执行找到stash的列表
git stash list

还原某个版本
git stash apply stash@{stash_id}
大功告成
复制代码

各位这波操作怎样,哈哈哈