[Git] Git Stash 命令详解

1. Git Stash 的基本概念

Git Stash 是一个用于暂存当前工作目录中更改的命令。当你正在处理一个功能分支,但突然需要切换到另一个分支进行紧急修复或查看其他工作时,Git Stash 就显得非常有用。它允许你将当前工作目录中的更改保存起来,以便稍后恢复。变基下拉git pull(Rebase)有冲突时也会用到,而且很好用。

2. 使用 Git Stash

2.1 暂存更改

要暂存当前工作目录中的更改,你可以使用以下命令:

git stash

执行此命令后,Git 会将你的更改保存到一个栈中,并清理工作目录,使其看起来像是刚从一个干净的分支检出一样。

2.2 查看暂存的更改

要查看已暂存的更改列表,你可以使用以下命令:

git stash list

这将显示一个包含所有暂存更改的列表,每个更改都有一个唯一的 stash ID。

2.3 恢复暂存的更改

要恢复最近一次暂存的更改,你可以使用以下命令:

git stash pop

这会将最近一次暂存的更改应用到当前工作目录中,并从栈中移除该更改。

如果你只想查看暂存的更改而不应用到工作目录中,可以使用:

git stash apply

这将保留暂存的更改在栈中,以便你可以稍后再次应用或删除它。

2.4 删除暂存的更改

要删除栈中的所有暂存更改,你可以使用:

git stash clear

或者,要删除特定的暂存更改,你可以使用其 stash ID:

git stash drop <stash_id>

3. 注意事项

  • 使用 Git Stash 时,请确保你已经提交了所有不想被暂存的更改。
  • 暂存的更改不会保留分支信息,因此如果你需要知道这些更改是基于哪个分支的,最好在暂存前进行记录。
  • Git Stash 是一个强大的工具,但过度使用可能会导致代码管理混乱。因此,请仅在必要时使用它。

4. 结论

Git Stash 是一个非常有用的命令,它可以帮助你在需要切换到其他分支时暂存当前工作目录中的更改。通过理解其基本概念和用法,你可以更有效地管理你的 Git 仓库和代码更改。

相关推荐
MDY12192 小时前
IDEA如何配置Git
git
CNRio3 小时前
Day 50:Git的高级技巧:使用Git的rebase交互式修改提交历史
大数据·git·elasticsearch
CNRio3 小时前
Day 52:Git的高级技巧:使用Git的bisect定位问题提交
大数据·git·elasticsearch
Tiam-20163 小时前
开发办公工具
git·编辑器·开发工具·敏捷开发
CNRio6 小时前
Day 55:Git的高级技巧:使用Git的worktree管理多个工作目录
大数据·git·elasticsearch
MDY12197 小时前
IDEA推送文件到GIT失败,显示:无法执行Git:无法识别Git可执行文件的版本:无响应
java·ide·git·intellij-idea
CNRio7 小时前
Day 54:Git的高级技巧:使用Git的submodule管理子项目
git
超级哇塞7 小时前
Git Rebase 之后出现大量未暂存文件的问题与解决方案
git
CNRio9 小时前
Day 56:Git的高级技巧:使用Git的filter-branch重写历史
大数据·git·elasticsearch
CNRio9 小时前
Day 57:Git的高级技巧:使用Git的rebase交互式修改历史
大数据·git·elasticsearch