首页/开发/Git 与协作速查/git stash 部分路径与交互块
Git 基础与命令88 条

git stash 部分路径与交互块

只存一部分改动:stash push -p 交互挑选块,或 git stash push -- <路径> 限定目录,其余改动留在工作区继续用。

Git 与协作速查开发更新于 2026-10-13

部分暂存怎么用

只保存一部分改动:交互模式让你挑选要寄存的改动块,路径限定模式只保存指定目录或文件,其余改动留在工作区继续使用。它解决的是「手头有几个不相关的改动,只想暂时收起其中一部分」这类情况。

基本信息

交互模式-p 逐个选择要寄存的改动块
路径限定只保存指定路径下的改动,其余留在工作区
说明信息-m 给寄存条目加说明,便于日后辨认
查看列表git stash list 查看所有寄存条目
恢复方式取出并删除用 pop,取出但保留用 apply

典型使用场景

  • 改到一半需要切分支处理紧急问题
  • 把调试代码与正式改动分开处理
  • 只想暂存某个目录下的改动
  • 临时验证另一个方案但不想丢弃当前进度
  • 把多个不相关的改动分批寄存

常用示例

常用示例
git stash push -p -m 'partial wip'       # 交互挑选改动块寄存
git stash push -- src/api/ docs/          # 只保存指定路径
git stash list                            # 查看寄存条目与说明
git stash apply stash@{0}                 # 恢复但保留条目
git stash pop                             # 恢复并删除条目
git status                                # 确认剩余改动仍符合预期

常用子命令

命令作用
push -p交互选择要寄存的改动块
push 加路径限定只寄存指定路径的改动
apply恢复条目但保留在列表里
pop恢复并删除该条目
路径参数前要写分隔符,否则可能被当成其他选项的参数,命令行为与预期不符。
部分寄存之后工作区仍有改动,切换分支前确认剩余改动是否符合预期,避免把它们一起带过去。
加说明信息能省下日后辨认的时间:列表里只有编号与分支名时,很难判断哪条是调试代码、哪条是半成品功能。
寄存条目以栈的形式组织,误删与冲突恢复都依赖它;操作前先确认列表内容,不要在状态不明确时清空。

易错点

  • 路径参数前漏写分隔符,命令把路径当成选项解析,寄存内容与预期不符
  • 部分寄存后忘记剩余改动仍在工作区,切换分支时一并带走,改动落点混乱
  • 把寄存条目当作长期保存手段,条目被误删后无法恢复,长期内容应改用提交或分支
  • 寄存与恢复之间同一文件又有新改动,取回时容易冲突,先确认工作区状态

数据来源与参考

  • Git 官方文档:git-stash(stash push 路径与 -p)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌