git stash命令的作用是将你的工作目录和暂存区的修改保存起来,以便稍后恢复。这个命令在以下情况下非常有用:

当你正在一个分支上进行工作,但需要切换到另一个分支来修复bug时,可以使用git stash保存当前分支上的修改,然后切换到另一个分支进行工作。

当你正在进行一项工作,但需要紧急修复其他问题时,可以使用git stash保存当前的修改,以便稍后恢复。

下面是使用git stash的基本流程:

保存当前分支上的修改:git stash

切换到其他分支进行工作

修复bug并提交更改

切换回原来的分支

恢复之前保存的修改:git stash pop

git stash常用命令:

1.git stash save "message":将当前的修改暂存,并添加一个描述性的消息。

git stash save "Work in progress - fixing bugs"

2.git stash list:列出当前所有的stash记录。

git stash list

3.git stash apply:将最新的stash恢复到当前分支,但不会删除stash记录。

git stash apply

4.git stash pop:将最新的stash恢复到当前分支,并从stash列表中删除该记录。

git stash pop

5.git stash drop:删除最新的stash记录。

git stash drop

6.git stash branch <branch_name>:创建一个新分支,并将stash中的修改应用到新分支上。

git stash branch new-feature

More information: <https://git-scm.com/docs/git-stash>.

- Stash current changes, except new (untracked) files:

git stash push -m optional_stash_message

- Stash current changes, including new (untracked) files:

git stash -u

- Interactively select parts of changed files for stashing:

git stash -p

- List all stashes (shows stash name, related branch and message):

git stash list

- Show the changes as a patch between the stash (default is stash@{0}) and the commit back when stash entry was first created:

git stash show -p stash@{0}

- Apply a stash (default is the latest, named stash@{0}):

git stash apply optional_stash_name_or_commit

- Drop or apply a stash (default is stash@{0}) and remove it from the stash list if applying doesn't cause conflicts:

git stash pop optional_stash_name

- Drop all stashes:

git stash clear