Skip to Content

临时工作区

临时工作区可以将当前的所有修改临时保存起来(包括暂存区和工作区的)。他解决了以下场景面临的窘境 👇

代码改了一半,突然来了一个紧急的 Bug 需要立即修复,这时的工作区是“脏”的:

  • 不能提交(功能未完成)
  • 不能切换分支(会丢失未提交的修改)

需要切换分支去解决问题,但又不舍得丢弃当前代码,进退两难。


储藏 git stash

git stash 是 Git 官方原生的、基于命令行的临时工作区功能。

命令作用
git stash
git stash save "message"
将当前工作区和暂存区的变更储藏起来,并可选地附带一条描述信息。
git stash list查看所有已储藏的工作列表。
git stash pop应用最新的一个储藏,并将其从储藏列表中删除。
git stash apply stash@{n}应用指定的储藏(例如 stash@{1}),但不从储藏列表中删除它。
git stash drop stash@{n}从储藏列表中删除指定的储藏。
git stash clear清空所有储藏。
git stash show -p stash@{n}查看指定储藏的具体文件变更内容。

搁置 Shelve

搁置是 IDE 提供的临时工作区管理工具,相比原生的储藏更好用、更安全、更灵活。

  • 灵活:可选择性搁置,可跨分支应用。
  • 安全:搁置的内容存储在 .idea/shelf/ 中,不会因 Git 操作被意外清除。
  • 清晰易管理:可以随时查看、比较、应用或删除任何一个,而不必去记 stash@{n} 这样的索引。
最后更新于