git stash:暂存尚未提交的代码

郎家岭伯爵 2023年07月06日 425次浏览

前言

在开发过程中,可能会遇到在 A 分支开发了部分功能,这时需要切到 B 分支解决 Bug,但 A 分支的内容由于各种原因又不能提交。在这种应用场景下,我们可以使用 git stash 命令把代码暂存,然后切到其它分支进行操作。

实现

命令

# 保存所有未提交的更改并重置工作目录。这时可以切换到其他分支或执行其他任务
git stash

# 还原最新的暂存更改到工作目录中,但不会从暂存堆栈中移除它
git stash apply

# 还原最新的暂存更改并将其从暂存堆栈中移除
git stash pop

如果有多个暂存的状态,并且想要选择性地恢复或删除特定的暂存更改,可以使用如下命令查看暂存堆栈的状态:

git stash list

使用如下命令来操作特定的暂存更改:

git stash apply stash@{<num>}

# 或者

git stash drop stash@{<num>}

使用 git stash 暂存的代码,切换分支后不会丢失更改的代码,且在暂存命令之后使用 git commitgit push 命令不会把暂存的代码 push 到远程分支。

总结

在开发中,git stash 命令可以让我们十分灵活的切换分支。