Git 如何通过提交sha删除隐藏

Git 如何通过提交sha删除隐藏,git,git-stash,Git,Git Stash,是否可以通过提交sha删除隐藏,而不是使用 git stash drop stash@{index} 不是直接的,不是。您必须将哈希转换为相应的reflog条目,并按reflog条目名称删除它 使用 git ReFug Stase或其等效(但更可塑性) Git Log-G Stase,以查找IDE提交的StaseReFug。考虑如果不存在(可能已经隐藏了StAy),该怎么办,和/或如果发生不止一次该怎么办?(这在正常操作中永远不会发生,但从根本上说,没有什么可以阻止stash reflog多次

是否可以通过提交sha删除隐藏,而不是使用

git stash drop stash@{index}

不是直接的,不是。您必须将哈希转换为相应的reflog条目,并按reflog条目名称删除它

使用<代码> git ReFug Stase或其等效(但更可塑性)<代码> Git Log-G Stase,以查找IDE提交的StaseReFug。考虑如果不存在(可能已经隐藏了StAy),该怎么办,和/或如果发生不止一次该怎么办?(这在正常操作中永远不会发生,但从根本上说,没有什么可以阻止stash reflog多次列出相同的提交散列)

将为每个匹配哈希打印一行(假设
$hash
设置为完整的40个字符哈希)

git log -g --format='%H %gd' stash | \
    awk -v h=$hash '$1 == h { print $2 }'