资料来源:

(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. OPTIRRA研究: TNF拮抗剂维持期优化减量方案[EULAR2015_SAT0150]

    OPTIRRA研究: TNF拮抗剂维持期优化减量方案   SAT0150 OPTIMISING TREATMENT WITH TNF INHIBITORS IN RHEUMATOID ARTHRITI ...

  2. Jquery 点击弹窗,将弹窗内容赋值到各个项demo

    <div class="qb"> <div class="box"> <div class="qtt f_16 fbd& ...

  3. Solon2 的应用生命周期

    Solon 框架的应用生命周期包括:一个初始化函数时机点 + 六个事件时机点 + 两个插件生命时机点 + 两个容器生命时机点(v2.2.0 版本的状态): 提醒: 启动过程完成后,项目才能正常运行(启 ...

  4. 字典集合:Dictionary

    字典键值对的键是唯一的,如果添加了相同键的项就会抛异常,可以通过索引的方式进行重新赋值 using System; using System.Collections.Generic; using Sy ...

  5. MSF内网信息收集

    1. msf通过shell关闭防火墙 Netsh advfirewall set allprofiles state off(关闭防火墙) Netsh advfirewall show allprof ...

  6. GBDT初识

    GBDT的决策树: ​ 无论是处理回归任务还是二分类以及多分类任务,GBDT使用的决策树是CART回归树.因为GBDT每次迭代要拟合的是梯度值,是连续值所以要用回归树. ​ 对于回归树算法来说最重要的 ...

  7. datax clickhousewriter插件下载 elasticsearchwriter插件下载

    有用点手推荐!!! clickhousewriter: 链接:https://pan.baidu.com/s/1_dx7Y1P31yScNQvz0UH2WA 提取码:cwvv elasticsearc ...

  8. 报错信息;Cannot execute request on any known server 解决;sprigcloud;跑本地但是服务一直在eureka

    配置文件加上: eureka.client.register-with-eureka=falseeureka.client.fetch-registry=false

  9. CentOS7下MySQL数据的导入和导出

    一.数据导入 (1)进入mysql [root@localhost mysql]# mysql -u root -p (2)转到对应数据库下 mysql> use zenith_star; (3 ...

  10. 靶机练习5: Sar

    靶机地址 https://www.vulnhub.com/entry/sar-1,425/ 信息收集阶段 进行全端口扫描,枚举目标的端口和服务 nmap -n -v -sS --max-retries ...