如何通过哈希添加无法访问的git提交来存储

时间:2012-07-18 01:52:43

标签: git git-stash

我有大量无法访问的提交的哈希值(在我输入clear时,我试图git stash控制台时很傻)

我从git fsck中搞砸了一堆这些哈希

有没有简单的方法将这些哈希值xargs重新放回git存储区?

1 个答案:

答案 0 :(得分: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。

编辑以包含您的样本藏匿发现脚本,以从右侧相对基础重现藏匿。