我过去的某个时候删除了文件或某些代码.我可以在内容中进行grep(不在提交消息中)吗?
一个非常糟糕的解决方案是grep日志:
git log -p | grep <pattern>
Run Code Online (Sandbox Code Playgroud)
但是,这不会立即返回提交哈希.我一直玩得git grep无济于事.
如何查询git以找出哪些分支包含给定的提交?gitk通常会列出分支,除非有太多分支,在这种情况下它只是说"很多(38)"或类似的东西.我需要知道完整列表,或者至少是否某些分支包含提交.
是否可以git grep在Git控件源项目的所有分支内运行?还是有另一个命令要运行?
我需要在git存储库中搜索特定文件的历史记录,以找到一条消失的行.提交消息将没有任何相关文本可供搜索.我用什么命令?
进一步的细节:这是我的非标准任务跟踪软件的todo列表的历史.我已经保留了两年,因为在软件中没有为我保留足够的信息.遗憾的是,我的提交消息通常只有任务ID,而我需要做的是按主题而不是按编号查找已关闭的任务.是的,真正的解决方案是更好的任务跟踪软件,但这完全不在我手中.
实际上,我试图获得有关合并冲突的报告.我使用'git blame'来查看谁更改了哪一行,但我找不到分支和存储库名称信息.
有没有办法从'git blame'或commit ids'中找到文件的存储库名称,分支名称和作者名称,这样每当发生合并冲突时,我都可以向触及该文件/行的作者发送电子邮件解决它.
这种情况是:我在我的git存储库中丢失了一些工作,这项工作曾经被提交过,但现在已经埋没在我的历史中,某些地方可能无法通过'git log --all'访问.我唯一能记住的是一些不同的字符串,可以确定一个文件,这是我工作的一部分.
我有一个解决方案......但它很长,你有更好的解决方案吗?
这是我的解决方案:
我已经设法通过批处理命令找到我的提交SHA1: