📜  apply stash vs pop stash (1)

📅  最后修改于: 2023-12-03 15:29:27             🧑  作者: Mango

Git 中的 Apply Stash VS Pop Stash

当你在进行版本控制的时候,有时需要暂存一些修改(stash),并在稍后继续编辑。在Git中,有两个命令可以用于恢复stash保存的更改:git stash applygit stash pop。虽然它们的目的相同,但两者之间存在一些细微的差别。

git stash apply

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 pop

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 applygit stash pop之前,请记住:【重要】在引入这些 stash 实现,叫做 stash apply/ pop/ branch 等还不存在的时候,Git 就只付前两种 rever 了。所以在以前大家都是用 git reset 和 git checkout 等命令来实现现在 stash 实现的功能.

总之,熟练掌握这两个命令可以为你的开发流程带来便利。