Git 实用命令:git stash 让你在分支间切换自如,工作更高效

2023-08-25 13:26:13 浏览数 (2)

git branchgit checkoutgit commitgit pullgit push,这些基本的 Git 命令,大家肯定不陌生。

今天我再分享一个开发过程中比较实用的命令,可以大大提高工作效率,解决疑难场景,让我们开始吧。

git stash

stash 命令能够将还未 commit 的代码暂存起来,让你的工作目录变干净。

应用场景

你正在 feature 分支开发新功能,突然你的领导告诉你线上有 bug,必须马上修复。

此时新功能开发到一半,你又要切换到 master 分支修复 bug,这时就会报错:

代码语言:javascript复制
error: Your local changes to the following files would be overwritten by checkout:
  src/pages/.../index/index.tsx
Please commit your changes or stash them before you switch branches.
Aborting

因为当前有文件更改了,需要提交 commit 保持工作区干净才能切分支,于是提交记录就留了一条黑历史。。。

命令使用
代码语言:javascript复制
git stash

这样代码就被存起来了,当你修复完线上问题,切回 feature 分支,想恢复代码也只需要:

代码语言:javascript复制
git stash pop
相关命令
代码语言:javascript复制
git stash
# 保存当前未 commit 的代码

git stash save "备注的内容"
# 保存当前未 commit 的代码并添加备注

git stash list
# 列出 stash 的所有记录

git stash clear
# 删除 stash 的所有记录

git stash apply
# 应用最近一次的 stash

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

git stash drop
# 删除最近的一次 stash

当有多条 stash,可以指定操作 stash,首先使用 stash list 列出所有记录:

代码语言:javascript复制
$ git stash list
stash@{0}: WIP on ...
stash@{1}: WIP on ...
stash@{2}: On ...

应用第二条记录:

代码语言:javascript复制
$ git stash apply stash@{1}

pop,drop 同理。

未经允许不得转载:w3h5-Web前端开发资源网 » Git 实用命令:git stash 让你在分支间切换自如,工作更高效

0 人点赞