Git stash核心操作是保存、切换、恢复:运行git stash或git stash push -m“描述”暂存修改,git status验证工作区干净,git stash list查看记录,git stash apply/pop恢复,git stash drop/clear清理。
在 macos 上用 git 的 stash 暂存未完成工作,核心就是三步:保存、切换、恢复。它不提交、不污染分支、也不影响远程仓库,纯本地操作,非常轻量。
怎么快速暂存当前修改
确保你在项目根目录下(终端里用 cd 进入),然后运行:
-
git stash—— 最简方式,自动保存所有已跟踪文件的修改(包括工作区改动 + 暂存区内容) -
git stash push -m "描述性信息"—— 推荐写法,比如git stash push -m "调整登录页样式",方便后续识别 - 如果改了未跟踪的新文件(比如新建的
config.local.js),默认不会被保存;加-u参数:git stash push -u -m "含新文件"
暂存后怎么确认是否干净
执行完 stash 后,建议立刻验证工作区是否已清空:
Git post-commit 钩子 + SQLite 提交索引工具。自动将每次提交的元数据(哈希值、作者、分支、仓库、主题)记录到本地 SQLite 数据库中,随后提供一个命令行接口(CLI),支持查询、列表展示、统计、删除和更新记录。 触发场景:管理 Git 钩子、跨仓库查询提交历史、定位某次提交所属的仓库、查看提交统计信息、将提交记录写入本地索引。 当用户提及“提交日志记录”、“提交索引”、“跨仓库查找提交”、“Git 钩子管理”,或希望以结构化方式查询其提交历史时(即使未明确指出该工具),请使
-
git status应该显示nothing to commit, working directory clean -
git stash list可查看所有暂存记录,最新的一条是stash@{0} -
git stash show能看到刚 stash 里改了哪些文件(不带参数只显示概要)
怎么把暂存的内容拿回来
回到原来分支或切换到其他分支处理完事情后,可选择两种恢复方式:
-
git stash apply—— 应用最近一次 stash,但保留在 stash 栈中(可重复应用) -
git stash pop—— 应用并自动删除栈顶 stash(更常用) - 想恢复特定某次 stash?用
git stash apply stash@{2}或git stash pop stash@{1} - 如果恢复时发生冲突,Git 会提示,手动解决后
git add并git stash drop清理即可
怎么清理不用的 stash 记录
stash 是堆栈结构,长期不用的会越积越多,定期整理更清晰:
-
git stash drop stash@{1}—— 删除指定某一条 -
git stash clear—— 一键清空全部(谨慎操作) - 注意:
git stash drop不会删掉已应用过的 stash,只删未应用的;pop后自动删,apply后需手动drop

















