我有2个分支:主|设计

在设计工作中,我做了一个隐藏,然后切换到master,做了一些调整。切换回设计,并做了一个隐藏应用,只失去我在设计分支的所有更改。

我希望我所有的工作都在一个藏起来,因为我没有清除或删除这些。

如果我做一个收藏清单,我会得到4个结果:

stash@{0}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{1}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{2}: WIP on design: eb65635... Email Adjust
stash@{3}: WIP on design: eb65635... Email Adjust

如果我尝试git stash应用f2c0c72,我得到一个错误:

fatal: Needed a single revision
f2c0c72: no valid stashed state found

我如何应用特定的收藏?


当前回答

进入隐藏的键实际上是左边的stash@{n}项。所以尝试:

git stash apply stash@{0}

(注意,在一些shell中,你需要引用“stash@{0}”,如zsh, fish和powershell)。

从2.11版本开始,这非常简单,您可以使用N个堆栈号而不是使用stash@{N}。所以现在不用:

git stash apply "stash@{n}"

你可以输入:

git stash apply n

获取存储列表:

git stash list

事实上,stash@{0}是git的一个修订,你可以切换到…但是git stash应用…你应该弄清楚如何将DTRT应用到你当前的位置。

其他回答

进入隐藏的键实际上是左边的stash@{n}项。所以尝试:

git stash apply stash@{0}

(注意,在一些shell中,你需要引用“stash@{0}”,如zsh, fish和powershell)。

从2.11版本开始,这非常简单,您可以使用N个堆栈号而不是使用stash@{N}。所以现在不用:

git stash apply "stash@{n}"

你可以输入:

git stash apply n

获取存储列表:

git stash list

事实上,stash@{0}是git的一个修订,你可以切换到…但是git stash应用…你应该弄清楚如何将DTRT应用到你当前的位置。

要应用一个收藏并将其从收藏列表中移除,运行:

git stash pop stash@{n}

要应用一个stash并将其保存在stash缓存中,运行:

git stash apply stash@{n}

查看您最近的工作和它在运行时发生的分支

git stash list

然后选择存储应用和只使用数字:

git stash apply n

其中n(在上面的示例中)是与正在进行的工作相对应的数字。

如果是在Windows机器和PowerShell中,则需要引用参数,例如:

git stash apply "stash@{0}"

...或者应用更改并从存储中删除:

git stash pop "stash@{0}"

否则如果没有引号,你可能会得到这样的错误:

致命:模棱两可的参数“stash@”:未知的修订或路径未在 工作树。

git stash list 

列表将显示所有已存储的项目,例如:stash@{0}:,stash@{1}:,..,stash@{n}:

然后选择数字n,表示存储@{n}:

git stash apply n 

例如:

git stash apply 1 

是否将特定的隐藏更改应用到当前分支