我有大量无法访问的提交的哈希(愚蠢clear
的我在输入时尝试控制台git stash
)
我从 git fsck 弄乱了一堆这些哈希值
有什么简单的方法可以将xargs
这些哈希返回到 git stash 中?
快速回答:
git fsck | grep commit | cut -d' ' -f3 |
while read hash; do git rev-parse --verify --quiet $hash^2 && echo $hash; done |
xargs git log --grep WIP --pretty=oneline |
while read hash wip on branch commit junk; do
git checkout $hash; git reset --soft $commit; git stash; done
请注意,这会将存储的索引和工作树部分分成不同的存储。你能举一个你保存的输出的例子吗?存储有多个部分,您可能没有所有部分的 SHA。
编辑以包含您的示例存储发现脚本,以从正确的相对基础复制存储。