Search for string in dangling commits in Git

The following monstrosity very nicely found a git stash containing the word Upload which is what I was looking for:

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 

Is there a prettier version of this? I guess the pickaxe should work but git log -g doesn't see this commit.


... but git log -g doesn't see this commit

Commits that are (still) referenced by the reflog are considered reachable and not dangling. Thus running git log –g is contrary to what you wanted, so no surprises here.

Commits will be reachable via reflog for the gc.reflogExpire timespan, with a default of 90 days.

Is there a prettier version of this?

No, git fsck is the right way for accessing dangling commits.

链接地址: http://www.djcxy.com/p/77588.html

上一篇: 自动化部署到sonatype的oss maven仓库

下一篇: 在悬挂中搜索字符串在Git中提交