Git stash 是 Git 提供的一个功能,可以帮助我们保存当前工作目录和暂存区的修改,以便在稍后的时间点恢复到当前状态。使用 Git stash 可以方便地切换中间未完成任务状态。
使用 Git stash 保存当前工作目录和暂存区的修改可以使用以下命令:
git stash save "message"
其中 message
是可选的,可以用于标识这个 stash 的信息。执行该命令后,Git 会将当前工作目录和暂存区的修改保存起来,并还原到上一次提交的状态。
如果想要查看已经保存的 stash 列表,可以使用以下命令:
git stash list
执行该命令后,Git 会列出所有已经保存的 stash,并显示它们的标识符、stash 的信息和保存的时间。
如果想要恢复某一个 stash,可以使用以下命令:
git stash apply stash@{n}
其中 n
是 stash 的标识符。执行该命令后,Git 会将 stash 中保存的修改应用到当前工作目录和暂存区,但是并不会删除 stash。
如果想要删除某一个 stash,可以使用以下命令:
git stash drop stash@{n}
执行该命令后,Git 会删除指定的 stash。
如果想要恢复某一个 stash 并且删除它,可以使用以下命令:
git stash pop stash@{n}
执行该命令后,Git 会将 stash 中保存的修改应用到当前工作目录和暂存区,并且删除指定的 stash。
除此之外,Git stash 还提供了其他一些选项,如 --keep-index
,用于保留暂存区的修改,--include-untracked
,用于包括未跟踪的文件等。
总之,使用 Git stash 可以帮助我们方便地保存和恢复暂存区、工作区、分支信息,并且可以方便地切换中间未完成任务状态。