我有大量无法访问的提交的哈希值(在我输入clear
时,我试图git stash
控制台时很傻)
我从git fsck中搞砸了一堆这些哈希
有没有简单的方法将这些哈希值xargs
重新放回git存储区?
答案 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。
编辑以包含您的样本藏匿发现脚本,以从右侧相对基础重现藏匿。