当前位置:   article > 正文

TortoiseGit 入门指南10:贮藏_tortoisegit stash

tortoisegit stash

简介

有时,当你在项目的一部分上已经工作一段时间后,所有东西都进入了混乱的状态, 而这时你想要切换到另一个分支做一点别的事情。 问题是,你不想仅仅因为过会儿回到这一点而为做了一半的工作创建一次提交。 针对这个问题的答案是贮藏 命令。 ——《Pro Git

在 Git 中,贮藏(stash)是一个非常实用的功能,它允许你暂时保存当前工作区中未提交的更改。这意味着,当你正在进行一些修改,但还未准备好提交时,你可以使用贮藏功能将这些更改临时保存起来。

贮藏的主要用处包括:

  1. 切换分支或任务:当你正在处理一个任务,但突然需要切换到另一个分支或任务时,贮藏可以帮助你保存当前的更改,以便稍后恢复。这样,你就可以在一个干净的工作区中切换到其他分支,而不用担心当前未提交的更改会干扰其他工作。
  2. 保留未完成的更改:有时候,你可能在进行一些实验性或未完成的更改,但还不想提交它们。在这种情况下,你可以使用贮藏功能将这些更改保存起来,以便在将来继续工作。
  3. 避免不必要的提交:有时候,为了避免频繁的小提交,你可能想要将多个更改组合成一个更有意义的提交。在这种情况下,你可以使用贮藏来保存当前的更改,然后继续工作,直到你准备好进行一次完整的提交。

贮藏是一个非常灵活的功能,它允许你在Git历史中创建一个临时的“快照”,并在需要时轻松地恢复这些更改。这样,你就可以更加高效地管理你的工作流,并在多个任务和分支之间轻松切换。

比如我接到一个开发任务,首先我从 master 分支创建并切换到 dev 分支,然后在 dev 分支上开发任务。当我的开发进度进行到一半的时候,突然接到一个紧急任务,要修复 master 分支上的一个 BUG,但是此时我的 dev 分支已经修改了几个文件,而且我也不能提交(commit)这些文件,因为功能还没经过测试。如果我直接切换到 master 分支,这些修改内容也会被带到 master 分支的工作区。现在想要切换分支,但是还不想要那些更改一半的内容,这时可以使用贮藏stash):先将 dev 分支上修改的内容贮藏起来,贮藏后 dev 分支已经修改的内容都会恢复成原来的状态,就像刚进入 dev 分支一样。这个时候就可以切换到 master 分支,在 master 分支上修复 BUG,测试无误后,在 master 分支上提交修改内容。master 分支工作告一段落后,再将分支切换到 dev ,然后恢复贮藏,之前在 dev 分支上修改的内容又全部恢复了。

在TortoiseGit 中使用贮藏

在 TortoiseGit 中,使用贮藏的方法为:选择仓库,单击鼠标右键,在弹出的菜单中选择 TortoiseGit - Stash changes

在这里插入图片描述

  • Stash Message:对要贮藏的情况描述(允许什么也不填,此时 TortoiseGit 自动填入最近一次提交的信息)
  • include untracked:贮藏未跟踪文件
  • --all:贮藏所有文件

注:贮藏实际上是将相关文件压入栈。

恢复贮藏

当TortoiseGit检测到存在贮藏的更改时,将扩展几个右键菜单:Stash ApplyStash PopStash Lish
在这里插入图片描述

  • Stash Apply:将最后一次贮藏的更改恢复到工作区(可能要按住 Shift 再鼠标右键单击才能看到这个菜单)
  • Stash Pop:将最后一次贮藏的更改恢复到工作区,并且从栈中删除最后一次贮藏的更改。
  • Stash Lish:提供整个贮藏栈的概述,可以在此处查看或删除贮藏的更改。

一般情况下,使用Stash Pop来恢复贮藏的更改。









读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
千金难买知识,但可以买好多奶粉

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:【wpsshop博客】
推荐阅读