git stash 命令语法
git stash
命令在 Git 中用于暂时保存当前工作目录和暂存区的更改,以便您可以在一个干净的工作目录上工作。这个命令非常有用,当你需要切换分支但又不想提交未完成的更改时。
基本语法
git stash [save [<message>]] [<options>]
save [<message>]
: 可选的子命令和消息,用于保存当前的更改。如果提供了<message>
,它将被用作储藏的描述。[<options>]
: 其他选项来修改命令的行为。
常用选项
push [-u | --include-untracked] [-a | --all] [<message>]
: 保存当前的更改并可选地包括未跟踪的文件 (-u
) 或所有文件 (-a
)。list
: 列出所有的储藏。show
: 显示最近储藏的更改。pop [--index] [<stash>]
: 应用指定的储藏并从储藏列表中删除它。如果没有指定<stash>
,默认使用最近的储藏。apply [--index] [<stash>]
: 应用指定的储藏但不从储藏列表中删除它。drop [<stash>]
: 删除指定的储藏。clear
: 删除所有的储藏。
示例
- 保存当前更改:
git stash
- 保存当前更改并附加一条消息:
git stash save "My stash message"
- 列出所有储藏:
git stash list
- 应用最近的储藏并将其从列表中删除:
git stash pop
- 应用特定储藏但保留在列表中:
git stash apply stash@{1}
- 删除特定储藏:
git stash drop stash@{1}
- 清除所有储藏:
git stash clear
注意事项
- 使用
git stash
时,未跟踪的文件默认不会被保存,除非使用-u
或-a
选项。 git stash pop
和git stash apply
在应用储藏时可能会遇到冲突。在这种情况下,需要手动解决冲突。git stash pop
将应用并删除储藏,而git stash apply
仅应用储藏但保留在储藏列表中。- 使用
git stash drop
和git stash clear
时要小心,因为这些操作是不可逆的。