写点什么

Git Stash:临时保存和切换工作状态的利器

作者:凌览
  • 2023-09-25
    浙江
  • 本文字数:1377 字

    阅读完需:约 5 分钟

Git Stash:临时保存和切换工作状态的利器

Git 是我们日常工作中不可或缺的版本控制系统。它提供了许多强大的功能,其中之一是 Git Stash(暂存)。Git Stash 可以帮助我们在切换分支或保存未完成的工作时,临时保存当前的修改,以便稍后重新应用。本文将介绍 Git Stash 的用途、常见场景以及如何使用该功能。

Git Stash 的应用

Git Stash 的用途非常广泛,特别适用于以下几种常见场景:


  1. **分支切换:**当你正在进行某个分支上的开发工作,但需要紧急修复其他分支的 bug 或进行其他任务时,你可以使用 Git Stash 来保存当前分支上的修改。这样,你可以切换到其他分支,完成紧急任务后再回到原来的分支,并通过恢复 Stash 来重新应用你之前保存的修改。

  2. **临时保存工作状态:**有时候你可能需要中断当前的工作,但又不想提交未完成的修改。使用 Git Stash 可以将你的修改临时保存起来,以便稍后继续工作。这在你需要暂时切换到其他任务、参与会议或处理其他紧急问题时非常有用。

  3. **解决代码冲突:**当你在合并分支或拉取远程更新时遇到代码冲突,你可以使用 Git Stash 来保存当前的修改,并将工作区恢复到干净的状态。然后你可以解决冲突,再重新应用你之前保存的修改。

Git Stash 的使用

下面是一些常用的 Git Stash 命令:


  • git stash:保存当前工作区的修改,但不保存已提交的修改;

  • git stash save "message":保存当前工作区的修改,并添加一条说明信息;

  • git stash list:列出所有储藏记录;

  • git stash apply [stash@{n}]:应用某个储藏记录,并将其从储藏列表中删除;

  • git stash pop [stash@{n}]:应用某个储藏记录,并将其从储藏列表中删除,同时恢复当前工作目录到储藏时的状态。



假设我们现在修改 index.html 文件,并将 index.html 文件git add index.html 提交到暂存区,再执行git ls-files 查看暂存区的文件结果如下图:



现在我们临时保存index.html修改状态git stash,储存记录中就会多一条记录:



当然,工作中不能这么随意,不然记录变多不便于找到自己想恢复的记录,通常使用git stash save "message"命令:



恢复保存的修改有两种常见的方法可以恢复保存的修改。一种是使用git stash apply命令,它会重新应用最新的 stash,并保留 stash 的副本。另一种是使用git stash pop命令,它会应用最新的 stash,并将其从 stash 列表中删除。




如果你有多个 stash,你可以通过git stash apply stash@{n}命令来应用特定的 stash,其中n是 stash 的索引号。


一旦你不再需要某个 stash,你可以使用git stash drop命令将其从 stash 列表中删除。

增强 Git 的 VS Code 扩展

我想多数人不喜欢在黑白的窗口敲命令,我们可以通过 VS Code 扩展来增强使用 Git,我推荐自己常用的一个 Git 插件为 GitLens,安装如下图:



安装后,我们就能直观地看到 Git Stash 所有储藏记录。



这样,添加保存临时工作状态,也就是鼠标点点的事情。



还有其他的操作功能,不过多描述,大家安装后稍微点点都能学会。

总结

Git Stash 是一个强大而灵活的工具,可帮助开发人员在切换分支、保存临时工作状态和解决代码冲突时更加高效地管理修改。通过合理利用 Git Stash,我们可以处理多任务开发、合并变更和处理紧急情况,从而提高工作效率并确保代码的完整性。掌握 Git Stash 都是一个值得推荐的技巧,它能为你的版本控制流程带来便利和灵活性。


如果我的文章对你有帮助,您的👍就是对我的最大支持^_^。


关注公粽号【凌览社】回复"666",拉您进【人类高质量前端交流群~】

更多文章链接:https://linglan01.cn/about

发布于: 刚刚阅读数: 3
用户头像

凌览

关注

还未添加个人签名 2023-09-06 加入

还未添加个人简介

评论

发布
暂无评论
Git Stash:临时保存和切换工作状态的利器_git_凌览_InfoQ写作社区