git stash参数介绍
git stash 用于暂存工作区未提交的内容,便于在同时开发多个分支需要切换时保存当前分支进度。 list 语法 git stash list [] ,与git log功能类似,列出储藏列表,options 参数可以参考git log的参数 show 语法 git stash show [] [],和git show功能类似 save 语法 git stash save [-p|--patch] [-k|--[no-]keep-index] [-q|--quiet] [-u|--include-untracked] [-a|--all] [], 将本地更改保存到新的储藏队列, [-p|--p Git Stash 是 Git 版本控制系统中一个非常实用的工具,它允许你在不提交改动的情况下暂时存储工作区的更改,以便于切换到其他分支或处理紧急事务。在深入理解各个参数之前,我们先来了解 Git Stash 的基本概念。 1. **基本用法**: - `git stash`:默认情况下,此命令会保存你的工作区和索引中的更改,但不包括未跟踪的文件。 - `git stash list`:列出所有的 stash 记录,类似于 `git log`。 - `git stash apply` 或 `git stash pop`:恢复最近的 stash 记录,`apply` 不会删除 stash,而 `pop` 会。 - `git stash drop`:删除最近的 stash。 - `git stash clear`:删除所有 stash 记录。 2. **参数详解**: - `-p`, `--patch`:交互式地选择要 stash 的更改,类似于 `git add --patch`。 - `-k`, `--[no-]keep-index`:保持索引中的更改(默认是清除),如果使用 `--no-keep-index`,则会丢弃索引中的更改。 - `-q`, `--quiet`:静默模式,不显示任何输出。 - `-u`, `--include-untracked`:包括未跟踪的文件。 - `-a`, `--all`:包括通常被忽略的文件。 - `--message` 或 `-m`:自定义 stash 的描述信息。 - `--` `[...]`:后面跟文件或目录路径,只对这些路径的文件进行 stash。 3. **高级用法**: - `git stash push`:与 `git stash save` 类似,但提供了更多选项,如自定义 stash 信息。 - `git stash branch`:基于一个 stash 创建一个新的分支,同时移除该 stash,方便你在新分支上继续工作。 4. **示例**: - 要保存工作并切换分支,可以运行 `git stash`,然后 `git checkout another_branch`。 - 若要保存所有更改,包括未跟踪和忽略的文件,使用 `git stash -au`。 - 若要仅保存特定文件的更改,如 `file1.txt` 和 `file2.txt`,运行 `git stash push -- file1.txt file2.txt`。 5. **最佳实践**: - 当你在处理紧急修复或想要切换到另一个分支时,使用 `git stash` 可以保持工作区的整洁。 - 通过 `git stash list` 查看 stash 并使用 `git stash apply stash@{n}` 来应用特定的 stash。 - 如果不再需要某个 stash,使用 `git stash drop stash@{n}` 删除它。 Git Stash 是 Git 中一个强大的工具,它提供了一种灵活的方式来管理你的未提交更改,让你可以在不同的任务之间轻松切换而不丢失进度。理解并熟练运用它的参数和用法,能显著提升你的工作效率。