如何只 stash 某个特定文件的改动

stash 指定文件:git stash push -- <文件路径>,可带 -m 写备注;多个文件列多个路径。恢复用 git stash pop 或 git stash show -p 查看内容。

最佳实践
Git 提交历史与版本恢复示意

用 git stash push -- <文件路径>:只把指定文件的改动收进 stash,工作区其他改动原样保留。加 -m "备注" 方便日后辨认;多个文件可以列多个路径。

用法

git stash push -- src/config.js                  # 单个文件
git stash push -m "配置调整" -- src/config.js     # 带备注
git stash push -- a.js b.js dir/                  # 多个文件/目录

配套操作

git stash list                   # 看 stash 列表(备注在这里显示)
git stash show -p stash@{0}      # 查看内容
git stash pop                    # 应用最新 stash 并删除条目
git stash apply stash@{1}        # 应用指定 stash 但保留条目

想交互式挑选?

git stash push -p      # 逐块(hunk)选择要 stash 的改动

比按文件更细——同一个文件里也能只 stash 其中几处改动。

常见问题(FAQ)

Q:stash 未跟踪的新文件?

加 -u:git stash push -u -- 新文件路径。未跟踪文件默认不进 stash。

Q:stash 里包含已暂存(staged)的改动吗?

包含。stash 把工作区和暂存区的相关改动一起收走;恢复时默认全部回到工作区(想恢复暂存状态加 --index)。

Q:路径里带特殊字符怎么办?

用引号包住路径:git stash push -- "src/my file.js"。

参考资料

获取专属方案

联系我们

加入社区

微信扫码
加入官方交流群

立即体验

在线开通,按量计费,真正的云服务!

立即开始

选择观测云版本

代码托管平台