我一直认为你可以通过git stash save stashname
来git stash save stashname
一个名字,你可以稍后通过git stash apply stashname
。但似乎在这种情况下,所有发生的事情都是将stashname
用作存储描述。
有没有办法真正命名藏匿?如果没有,你会建议什么实现相同的功能?基本上我有一个小的藏匿,我会定期申请,但不想总是在git stash list
寻找它的实际藏匿号码。
这是你如何做到的:
git stash save "my_stash"
其中"my_stash"
是"my_stash"
名称。
一些更有用的知识:所有的存储都存储在一个堆栈中。类型:
git stash list
这将列出你的所有藏匿处。
要应用存储并将其从存储堆栈中删除,请键入:
git stash pop stash@{n}
要应用存储并将其保存在存储堆栈中,请键入:
git stash apply stash@{n}
其中n
是隐藏变化的索引。
从 2.15.x / 2.16 开始不推荐使用 git stash save
,而是可以使用git stash push -m "message"
你可以像这样使用它:
git stash push -m "message"
其中 “消息” 是您存储的注释。
要检索存储,您可以使用: git stash list
。这将输出这样的列表,例如:
stash@{0}: On develop: perf-spike
stash@{1}: On develop: node v10
然后你只需使用apply
给它stash@{index}
:
git stash apply stash@{1}
如果你觉得它很重要,你可以把藏匿处变成一个分支:
git stash branch <branchname> [<stash>]
从手册页:
这将创建并检出一个名为
如果运行 git stash save 的分支已经发生了足够的变化,git stash apply 因冲突而失败,那么这很有用。由于存储是在运行 git stash 时的 HEAD 提交之上应用的,因此它会恢复原始存储状态而不会发生冲突。
你可以稍后将这个新分支重新定位到其他地方,这个地方是你藏匿时所处的位置。