- Published on
使用 git stash 来临时保存你的工作区更改
- Authors
- Name
- Shelton Ma
git stash -u
1. # -u 参数#可以同时保存已跟踪文件和未跟踪的新文件(即 untracked 文件).
# git stash -u 等价于 git stash --include-untracked.
git stash -u
git checkout new-branch
⚠️: 不包括 .gitignore 中的文件,如果你希望连 .gitignore 的文件也一起暂存,可以使用 git stash -a.
git stash + git clean
2. 如果你只使用 git stash
(不加 -u),它不会暂存未跟踪的文件,因此需配合 git clean
git stash
git clean -f # 删除未跟踪的新文件
git checkout new-branch
⚠️: git clean
会永久删除未跟踪文件,使用时需小心.建议先执行 git clean -n
以预览即将删除的文件.
3. 恢复已暂存的更改
切换回原分支后,可以通过以下命令恢复暂存的更改:
git checkout previous-branch
git stash pop # 恢复并移除 stash
# 如果你有多个 stash 记录,可以使用:
git stash list # 查看所有 stash 记录
git stash apply stash@{0} # 应用指定的 stash, 但不删除它.
git stash drop # 删除指定的 stash.
git stash clear # 删除所有 stash.
4. 注意事项
- 推荐使用
git stash -u
,避免git clean
不慎删除重要文件. - 使用
git stash list
定期检查并清理无用的 stash,避免堆积