9

下面的怪物很好地找到了一个包含单词 Upload 的 git stash,这是我正在寻找的:

git fsck --no-reflog | awk '/dangling commit/ {print $3}' | \
while read ref; do if [ "`git show -p $ref|grep -c Upload`" -ne 0 ]; then echo $ref ; fi ; done 

这个有更漂亮的版本吗?我猜镐应该可以工作,但git log -g没有看到这个提交。

4

1 回答 1

4

...但git log -g没有看到这个提交

(仍然)被 reflog 引用的提交被认为是可访问的而不是悬空的。因此跑步git log –g与你想要的相反,所以这里没有惊喜。

提交可以通过 gc.reflogExpire 时间跨度的 reflog 访问,默认为 90 天。

这个有更漂亮的版本吗?

不,git fsck是访问悬空提交的正确方法。

于 2014-02-21T23:47:57.167 回答