简介
Git 贮藏(stashing)是一项强大的功能,它允许你临时保存本地更改而无需提交它们。当你需要在不同分支之间切换或执行其他任务而不丢失当前工作时,这一功能特别有用。在本教程中,我们将探讨如何管理多个 Git 贮藏,使你能够高效地处理和组织项目的更改。
Git 贮藏(stashing)是一项强大的功能,它允许你临时保存本地更改而无需提交它们。当你需要在不同分支之间切换或执行其他任务而不丢失当前工作时,这一功能特别有用。在本教程中,我们将探讨如何管理多个 Git 贮藏,使你能够高效地处理和组织项目的更改。
Git 贮藏是一项强大的功能,它允许你临时保存本地更改,包括已暂存和未暂存的修改,而无需将它们提交到仓库。当你需要切换到不同的分支或任务,但又不想丢失已完成的工作时,这一功能特别有用。
理解 Git 贮藏:
Git 贮藏的用例:
上图说明了 Git 环境下工作目录、暂存区、本地仓库和贮藏之间的关系。
要贮藏你当前的更改,请使用以下命令:
git stash
这会将你的本地修改(包括已暂存和未暂存的更改)保存在贮藏栈中。
你还可以使用 -m
选项为贮藏添加一条消息:
git stash -m "在切换分支前保存我的工作"
要应用最新的贮藏内容,请使用以下命令:
git stash apply
这会将贮藏栈顶部的更改应用到你当前的工作目录,但贮藏本身仍会保留在栈中。
如果你想在应用贮藏内容后将其移除,可以使用以下命令:
git stash pop
这会应用最新的贮藏内容,然后将其从贮藏栈中移除。
要查看贮藏更改的列表,请使用以下命令:
git stash list
这会显示栈中的所有贮藏,最新的贮藏在顶部。
stash@{0}: WIP on main: 5c3386c 提交消息
stash@{1}: WIP on main: 2b7d2ff 另一条提交消息
输出显示了贮藏引用(例如 stash@{0}
)以及与该贮藏关联的提交消息。
如果你有多个贮藏并且想要应用特定的一个,可以使用以下命令:
git stash apply stash@{index}
将 {index}
替换为你想要应用的贮藏的索引,如 git stash list
输出中所示。
要从栈中删除特定的贮藏,使用以下命令:
git stash drop stash@{index}
同样,将 {index}
替换为你想要删除的贮藏的索引。
如果你想要删除栈中的所有贮藏,使用以下命令:
git stash clear
这将从栈中删除所有贮藏的更改。
你可以使用以下命令直接从贮藏创建一个新分支:
git stash branch < 分支名称 > stash@{index}
这将:
<分支名称>
创建一个新分支。当你想要在一个新分支中继续处理特定的一组更改时,这会很有用。
上图说明了工作目录、暂存区、本地仓库、贮藏栈以及从贮藏创建的新分支之间的关系。
通过掌握本教程中介绍的技巧,你将能够有效地管理多个 Git 贮藏,从而更轻松地在不同任务之间切换、保持 Git 仓库的整洁,并与团队更高效地协作。了解如何贮藏、取回和组织你的更改将简化基于 Git 的开发工作流程,并帮助你成为一名更熟练的 Git 用户。