资料来源:

(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会尝试找出这个函数的范围,然后查找历史记录,并且显示从函数创建之后一系列变更对应的补丁;

【git】7.5 git工具-搜索的更多相关文章

  1. Git的图形化工具使用教程

    虽然感觉并没有什么暖用,但姑且还是写出来留作纪念好了 Git这种分布式版本控制系统最适合的就是单枪匹马搞开发的选手,不需要服务器,下载个git和图形工具,网速快十分钟就能搞定开始愉快的开发工作.我在搭 ...

  2. VS2015 Git 源码管理工具简单入门

    1.VS Git插件 1.1 环境 VS2015+GitLab 1.2 Git操作过程图解 1.3 常见名词解释 拉取(Pull):将远程版本库合并到本地版本库,相当于(Fetch+Meger) 获取 ...

  3. [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit

    [.net 面向对象程序设计进阶] (26) 团队开发利器(五)分布式版本控制系统Git——图形化Git客户端工具TortoiseGit 读前必备: 接上篇: 分布式版本控制系统Git——使用GitS ...

  4. Git是个好工具

    Git是分布式版本控制系统,我们常用的版本控制工具还有SVN.这里就得区分下什么是分布式版本控制系统,什么是集中化的版本控制系统. 集中化的版本控制系统 集中化的版本控制系统( Centralized ...

  5. [转]Git调用第三方对比工具beyondCompare

    点击阅读原文 对于我这种 git 命令行小白来说, git 自带的对比工具各种水土不服,想念以前的 svn 小乌龟 + beyondCompare 的日子...纠结完 gitHub client 未果 ...

  6. Git快速上手 : Tortoise工具使用

    利用工具快速上手Git 别跟我说什么用命令操作Git,多高大上呀,请不要在这里跟我装逼,就如同,有个小妞在床上眉眼诱惑地,你却TM还要先看个片儿来热热身.... TortoiseGit  名字看着眼熟 ...

  7. Git是个好工具(转)

    Git是分布式版本控制系统,我们常用的版本控制工具还有SVN.这里就得区分下什么是分布式版本控制系统,什么是集中化的版本控制系统. 集中化的版本控制系统 集中化的版本控制系统( Centralized ...

  8. 配置Meld为git的默认比较工具

    1. 安装 meld sudo apt-get install meld 2. 创建 git_meld.sh 脚本 cd /bin vim git-meld.sh #!/bin/sh meld $2 ...

  9. Git - 可视化冲突解决工具P4Merge

    P4Merge P4Merge是Git的一个第三发Diff和Merge工具(可视化冲突解决工具). 下载地址: https://www.perforce.com/downloads/visual-me ...

  10. Git源码管理工具使用

    注明:双击tap键为自动补全操作 1.视频地址:http://www.newbieol.com/course/index_102.html 2.sourcetree是一个拥有界面的git工具吧 下载官 ...

随机推荐

  1. 权限维持之:DSRM 域控权限维持

    目录 1 修改 DSRM 密码 2 DSRM 域后门操作过程 3 DSRM 域后门防御 目录服务恢复模式(DSRM,Directory Services Restore Mode),是Windows服 ...

  2. 如何将 Autofac 整合进 Net6.0 Core MVC 项目中

    一.前言 1.前言 Asp.Net Core Mvc,我也用了很长一段时间了,它现在的编程模型和方式还是特别棒的,都是组件开发,什么都可以替换,当然了,您别抬杠,有些还是不能替换的.自从我们进入了跨平 ...

  3. JS弹窗遮罩 POP

    html: <div class="popBox"> <div class="pb"> <span class="clo ...

  4. 通过反射机制简化 JDBC ResultSet 实体类的注入

    提出问题 查询完某个表之后,一般都是把结果的每一个字段注入到一个实体类中.比如,数据库 users 表,查询出来的结果注入到 User 实体类中. 通过 while 遍历 ResultSet,把字段对 ...

  5. LeetCode-396 选转函数

    来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/rotate-function 题目描述 给定一个长度为 n 的整数数组 nums . 假设 ar ...

  6. pat乙级1014 福尔摩斯的约会

    #include<stdio.h> #include<stdlib.h> #include<string.h> #include<math.h> int ...

  7. 红米note9 刷开机第一屏logo

    参考:https://romprovider.com/change-boot-logo-redmi-9-prime/ 工具:https://sites.google.com/site/kadanuti ...

  8. pg高可用方案repmgr带witness搭建

    一.总体架构 操作系统版本: linux redhat7.6pg版本: 12.2repmgr版本 5.2192.168.3.73 主库: repmgr+master192.168.3.74 从库1: ...

  9. oracle to mogdb 迁移---mtk工具

    ## 一.MTK工具介绍--------- MTK–异构数据迁移工具 MTK全称为 Database Migration Toolkit,是一个可以将Oracle/DB2/MySQL/openGaus ...

  10. 制造业常用KPI

    1.  质量KPI CA (Capability of Accuracy): 平均值距离期望中心值的距离,值越大,说明平均值越接近期望中心值. Ca=(X-U)/(T/2) CP (Capabilit ...