git搜索历史上曾经的文本内容

文章目录

问题

我们知道,github有文本搜索功能:

比如想搜哪些文件内容包括 aaa ,在搜索框中输入 aaa

但是,如果是历史上曾经有过的文本,这个办法貌似不行。

比如文件 test.txt ,历史上曾经包含了 aaa 文本,但是后来修改过文件,当前的文件里已经不包含 aaa 文本了。此时在github里就搜不到了:

该怎么搜索呢?

在命令行搜索历史内容

可以通过git命令行来搜索历史内容。

比如要搜索 aaa ,通过 grep 命令,可知搜不到:

powershell 复制代码
➜  test0402 git:(main) grep -r aaa .
➜  test0402 git:(main)

使用以下命令搜索:

powershell 复制代码
git log -S'aaa' -p

结果如下:

powershell 复制代码
commit 4daf5988f299e711fb821dc956b9463c27400052 (HEAD -> main, origin/main, origin/HEAD)
Author: dukeding <kaiding@cn.ibm.com>
Date:   Fri Mar 8 14:15:19 2024 +0800

    Update test.txt

diff --git a/test.txt b/test.txt
index 90d2f06..2975aa0 100644
--- a/test.txt
+++ b/test.txt
@@ -1 +1 @@
-test aaa test
+test bbb test

commit d77ab62652abeb1a06eddd7f7cf76ed7720e8b97
Author: dukeding <kaiding@cn.ibm.com>
Date:   Fri Mar 8 14:10:24 2024 +0800

    Create test.txt

diff --git a/test.txt b/test.txt
new file mode 100644
index 0000000..90d2f06
--- /dev/null
+++ b/test.txt
@@ -0,0 +1 @@
+test aaa test

可见,列出了 aaa 出现的commit,以及 aaa 消失的commit,这样就可以了解 aaa 的来龙去脉了。

参考

  • https://stackoverflow.com/questions/4705517/github-searching-through-older-versions-of-files
相关推荐
李日灐6 小时前
< 7 > Linux 开发工具:git 版本控制器 和 cgdb/gdb 调试器
linux·运维·服务器·开发语言·git·调试器·gdb/cgdb
Gust of wind6 小时前
idea结合git和Gitee的初步使用
git·gitee·intellij-idea
夜七少eleanor6 小时前
【Git】2026全图文详解安装教程
git
海边的Kurisu6 小时前
从零开始的Git生活 | 刚实习同学的噩梦 And 参与开源不可缺的一环
git·生活
不老刘7 小时前
Git Cherry-Pick:微前端架构下的“精准医疗”与最佳实践
前端·git
爬楼的猪8 小时前
Git Folder Dashboard
git
Uncertainty!!8 小时前
claude code中添加skills自动生成git commit信息
git·git commit·claude code
FserSuN10 小时前
Git Worktree 使用学习
git·学习
Z文的博客10 小时前
嵌入式LINUX QT 开发 .gitignore 文件编写指南
linux·git·qt·elasticsearch·嵌入式
前端双越老师11 小时前
3 个命令 7 个步骤,学会 git worktree 并行开发
git·ai编程·全栈