资料来源:

(1) https://git-scm.com/book/zh/v2/Git-%E5%B7%A5%E5%85%B7-%E6%90%9C%E7%B4%A2

1.git grep

注1:使用git grep可以很方便地从提交历史、工作目录、甚至索引中查找一个字符串或正则表达式; 默认情况下,git grep会查找你工作目录的文件;

注2:与常用的搜索命令grep相比,git grep的速度非常快;另外,git grep不仅可以搜索工作目录,还可以搜索任意的git树;

(1) git grep -n或git grep --line-number选项可以输出git找到的匹配行的行号,如git grep -n key_words;

(2) git grep -c或git grep --count选项可以输出那些包含匹配字符串的文件以及每个文件中包含了多少个匹配;

(3) git grep key_word1 --and key_word2可以输出既匹配key_word1,又匹配key_word2的行;

2.git日志搜索

注1:应用场景-想知道某个改动是在什么时候开始存在或引入的; git log命令有许多强大的工具可以通过提交信息甚至是diff的内容来找到某个特定的提交;

注2:比如要查找ZLIB_BUF_MAX常量是什么时候引入的,可以使用-S选项来显示新增和删除该字符串的提交-“git log -S ZLIB_BUF_MAX --oneline”;

2.1 行日志搜索

(1) 使用方法: 在git log后加-L选项,它可以展示代码中一行或者一个函数的历史;

(2) 使用示例: 查看zlib.c文件中那个git_deflate_bound函数的每一次变更,可以执行git log -L:git_deflate_bound:zlib.c,git会尝试找出这个函数的范围,然后查找历史记录,并且显示从函数创建之后一系列变更对应的补丁;

最新文章

  1. IT软件的编程方向 - 进阶者系列 - 学习者系列文章
  2. 从零开始学Python08作业思路:开发简单的FTP
  3. WebForm路由踩坑 ajax请求多次
  4. 【leetcode】Maximum Gap(hard)★
  5. java :hello world
  6. yii2语言设置
  7. nosql简述
  8. 自定义input file 属性
  9. 洛谷 P1093 奖学金
  10. hdu_5919_Sequence II(主席树)
  11. 学习总结:工程管理与makefile
  12. [LeetCode] K Empty Slots K个空槽
  13. Data type
  14. Fatal error: Uncaught Error: Call to undefined function curl_init()
  15. NOIAC41 最短路(线性基)
  16. python中经典类和新式类的区别
  17. WebMagic
  18. Windows Server 2016与旧版本系统比较
  19. spring boot 与 filter
  20. hdoj3038(带权并查集)

热门文章

  1. 代码随想录算法训练营day22 | leetcode 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点
  2. Postgresql的csv日志设置
  3. 看完这一篇,ShardingSphere-jdbc 实战再也不怕了
  4. eclipse项目转idea项目
  5. Java后台校验手机号和邮箱
  6. pyinstaller打包Python程序报错OSError: Python library not found: libpython3.8.so, libpython3.8m.so
  7. Note Taking App Comparison: Notesnook vs Joplin
  8. [Vs和Reshaper]Vs Studio配合Resharper插件,某些快捷键无法使用的情况,Alt+F7
  9. @NotNull,@NotBlank,@NotEmpty注解的区别
  10. 关于el-popover的箭头颜色