是否可以通过其提交sha删除存储,而不是使用
删除索引git stash drop stash@{index}
答案 0 :(得分:2)
不直接,不。您必须将散列转换为其对应的reflog条目,并通过reflog-entry-name删除它。
使用git reflog stash
或其等价物(但更具可塑性)git log -g stash
来查找存储日志,以查找ID提交。考虑如果它不存在该怎么办(也许存储已被丢弃),和/或如果它不止一次发生该怎么办(这应该永远不会发生在正常的操作中,但没有什么从根本上阻止藏匿reflog从列出相同的提交哈希几次)。
git log -g --format='%H %gd' stash | \
awk -v h=$hash '$1 == h { print $2 }'
将为每个匹配的哈希打印一行(假设$hash
设置为完整的40个字符哈希)。