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