4. Git查询操作

查询操作

查询分支

$ git branch

查询目前所有的分支列表

假如在参数最后添加 -v, 除了分支列表还会显示最后一次提交的作者

查询标签

$ git tag

查询目前所有的标签

根据规则进行标签匹配

$ git tag -l 'v*'

这样就是查询所有v开头的标签名

查询Git配置

git config --list

config可以查看Git的配置,添加–list命令,会将配置以列表形式列出来

$ git config {属性名称}

可以将单独的属性名称列出来,然后进行单一的查询

查询操作日志

$ git log

它还有其他的命令格式

  • –oneline 查看历史记录的简洁的版本
$ git log --oneline

后续添加–graph 选项,查看历史中什么时候出现了分支、合并

$ git log --oneline --graph

image

查询指定用户的操作日志

$ git log --author=用户名

例子

$ git log --author=daify
commit 9d4cc324431a6851f23069899f802629b16b256f
Author: daify <-------@qq.com>
Date:   Sat Apr 27 20:17:38 2019 +0800
    Initial commit

设置查询日期
可以通过–since 和 --before,也可以用 --until 和 --after。查询指定时间的记录

$ git log --oneline --before={3.weeks.ago} --after={2010-04-18} --no-merges

log命令支持的选项

选项说明
-p按补丁格式显示每个更新之间的差异。
–word-diff按 word diff 格式显示差异。
–stat显示每次更新的文件修改统计信息。
–shortstat只显示 --stat 中最后的行数修改添加移除统计。
–name-only仅在提交信息后显示已修改的文件清单。
–name-status显示新增、修改、删除的文件清单。
–abbrev-commit仅显示 SHA-1 的前几个字符,而非所有的 40 个字符。
–relative-date使用较短的相对时间显示(比如,“2 weeks ago”)。
–graph显示 ASCII 图形表示的分支合并历史。
–pretty使用其他格式显示历史提交信息。可用的选项包括 oneline,short,full,fuller 和 format(后跟指定格式)。
–oneline–pretty=oneline --abbrev-commit 的简化用法。

调试

文件标注

blame 命令可以来追踪某文件的历史修改记录,可以追踪代码中某一段的修改记录

$ git blame -L 40,80 Test.java

解释:查询Test文件40行至80行的历史修改记录

二分法查找

假如你的项目出现的问题,但是你不知道是什么时候产生的这个BUG,但是你只知道上一个正常版本的版本号,那么你就可以使用二分法进行排查。
而二分法排查主要需要bisect命令

  • 首先你需要启动排查
$ git bisect start 
  • 然后你要告诉Git你当前提交是有问题的
$ git bisect bad
  • 然后告诉最后一次正常状态是那次提交
$ git bisect good v2019-04-28

然后Git会检出之间的那个提交,这个时候你可以进行测试

如果这个提不存在问题则证明问题是之后存在的,则标记,继续查找

$ git bisect good

如果这个提存在问题则证明问题是之前存在的,则标记,继续查找

$ git bisect bad

最后 Git 拥有的信息已经可以确定引入问题的位置在哪里。 它会告诉你第一个错误提交的 SHA-1 值并显示一些提交说明。

当执行完所有操作后,你应该执行下面的命令来重置你的HEAD指针到开始位置,否则HEAD会出现在一个奇怪的位置

git bisect reset

高级查询

Git提供了一个grep命令,可以让你方便的从提交历史或者工作目录中查找一个字符

$ git grep -n {需要被匹配的内容}

默认Git会查询你的工作目录,可以使用-n 来输出匹配行行号

  • 使用**–count**命令来使 Git 输出概述的信息,仅仅包括哪些文件包含匹配以及每个文件包含了多少个匹配
  • 使用**-p**来查看匹配的行时属于哪个方法或者函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大·风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值