学会这三个命令,你就不再是git只会用三板斧的菜鸟了( 二 )


学会这三个命令,你就不再是git只会用三板斧的菜鸟了文章插图
其实我们从头部的日志信息也可以看得出来 , 它底层也是通过git diff实现的 。 由于commit当中的改动量可能很大 , 所以我们这样查看到的内容也会非常多 。 我们可以在-p后面再加上一个-n表示我们想要查看的最近几条commit信息 , 比如git log -p -2查看的就是最近两条提交信息 。
git log --stat有的时候(比如HR根据代码确定绩效)我们只是想要查看每一次commit到底有多少改动量 , 而不想知道具体的改动是什么 , 这个时候就可以使用stat参数 。
它会告诉我们这个commit中每一个文件做的改动有多少 , 方便我们查看具体到文件的变更 。
学会这三个命令,你就不再是git只会用三板斧的菜鸟了文章插图
git log --prettypretty这个参数是一个神器 , 它可以支持让我们自己diy我们想要看到的log展示 。 比如常用的是git log --pretty=oneline , 这里的oneline是一种格式 , 表示单行展示 , 也就是会把commit展示的信息压缩成一行 。
学会这三个命令,你就不再是git只会用三板斧的菜鸟了文章插图
我们可以看到它省略了author、时间等信息 , 仅仅保留了commitid和comment信息 。 这种一般用在排查问题的时候 , 想要快速找到某一个commit 。 除了oneline之外 , 官方还提供了其他几种format , 比如short、full、fuller这三种 , 这三者展示的信息略有差别 , 大家可以自行尝试一下 。
最后介绍一种牛叉的用法 , 就是我们自己来定义我们想要的输出结果 。 举个例子 , 比如我想要看到的log日志当中应该包含commitid , 提交时间 , 作者以及comment 。 那么我们就可以自己定义出一种格式:%h - %ad - %an - %s 。 这样我们执行的命令就是:
git log --pretty=format:"%h - %ad - %an - %s"得到的结果会是:
学会这三个命令,你就不再是git只会用三板斧的菜鸟了文章插图
这正是我们想要的 , 这里的%h, %ad其实也是官方提供的参数 , 他们分别表示一种信息 。 比如%h表示短commitid , %ad表示提交时间 , %an表示作者信息 , %s表示提交时的comment 。 当然可选的参数不止这些 , 官方提供了一个表格 , 表格当中的参数都可以选择 。
学会这三个命令,你就不再是git只会用三板斧的菜鸟了文章插图
git log还有一种参数的用法是--graph , 可以展示出提交的一个树形分支结构 。 也是非常非常好用的 , 但是我找不到合适的repo展示 , 所以用一个官方的例子展示给大家:
学会这三个命令,你就不再是git只会用三板斧的菜鸟了文章插图
除了上面介绍的功能之外 , git log还有一些其他的功能 , 相对来说不是很常用 , 就不赘述了 。 感兴趣的同学可以去查看一下官方文档 , 体会一下git命令的强大 。
总结怎么样 , 今天介绍的git diff和git log命令都学会了吗 , 是不是有一种看起来简单其实学起来还挺复杂的感觉?其实是非常正常的 , 因为git是面向所有开发者的 , 不同的开发者有不同的习惯 , 总有些人有些自己特殊的需求 。 所以git也就被设计的非常复杂和强大 , 可以实现各种功能 , 我们也没必要全部学会 , 根据日常的需要进行取舍 , 一部分重点学习 , 其他的泛泛了解即可 。
衷心祝愿大家每天都有所收获 。 如果还喜欢今天的内容的话 , 请来一个三连支持吧~(点赞、关注、转发)
- END -
本文始发于公众号:TechFlow , 求个关注