📅  最后修改于: 2023-12-03 15:29:27             🧑  作者: Mango
当你在进行版本控制的时候,有时需要暂存一些修改(stash),并在稍后继续编辑。在Git中,有两个命令可以用于恢复stash保存的更改:git stash apply
和git stash pop
。虽然它们的目的相同,但两者之间存在一些细微的差别。
git stash apply
命令用于恢复最近的stash。执行此命令后,stash中保存的更改将还原到您当前的工作目录中。但是,请注意,执行此操作并不会从stash列表中删除stash。这意味着,您可以多次应用同一stash,适合您需要多次应用同一stash的情况。
下面是使用git stash apply
的示例命令:
$ git stash apply
此命令将默认应用最后一个stash。如果要应用某个其他stash,请在apply命令后面指定需要应用的stash的名称,如下所示:
$ git stash apply stash@{1}
上面的命令将应用stash@{1},而不是默认的最后一个stash。
与git stash apply
不同,git stash pop
命令不仅将stash中的更改恢复到您的当前工作目录中,还将删除最新的stash,因此可以理解为“弹出”stash。这意味着,您不能在将来再次应用弹出的stash。如果您执行此命令,但需要再次使用该stash,请使用git stash apply
。
下面是使用git stash pop
的示例命令:
$ git stash pop
此命令将默认弹出最后一个stash。如果要从列表中弹出某个其他stash,请在pop命令后面指定需要弹出stash的名称,如下所示:
$ git stash pop stash@{1}
上面的命令将弹出stash@{1},而不是默认的最后一个stash。
在使用git stash apply
和git stash pop
之前,请记住:【重要】在引入这些 stash 实现,叫做 stash apply/ pop/ branch 等还不存在的时候,Git 就只付前两种 rever 了。所以在以前大家都是用 git reset 和 git checkout 等命令来实现现在 stash 实现的功能.
总之,熟练掌握这两个命令可以为你的开发流程带来便利。