1

我有大量无法访问的提交的哈希(愚蠢clear的我在输入时尝试控制台git stash

我从 git fsck 弄乱了一堆这些哈希值

有什么简单的方法可以将xargs这些哈希返回到 git stash 中?

4

1 回答 1

3

快速回答:

 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。

编辑以包含您的示例存储发现脚本,以从正确的相对基础复制存储。

于 2012-07-18T02:07:16.830 回答