[英]Search file contents in all commits, including “abandoned” commits that aren't on a branch/stash
不知何故,我以为我已经对文件进行了更改并提交了更改,但更改不再出现在我的工作树、差异或log --patch
output。 我很困惑,我唯一的猜测是它们在变基或合并操作期间被 Git 差异算法无意中丢弃。
我不相信我的回购最近被垃圾收集了,所以我想在这些更改丢失之前尝试恢复这些更改,我必须重做它们。
如何在所有提交的内容中搜索特定字符串,包括那些“孤立”并且不再位于根和分支尖端之间的路径上的内容?
一种可能的解决方案是使用
git log -g -S <string>
这会在reflog中搜索提交的全文。 如果需要,您还可以指定路径和大多数其他典型log
arguments。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.