今天听我们部门前端分享,听到说需要对gitlab操作进行规范,需要使用git log,所以今天专门看一篇这个。
文章第一段就讲述了Git log的存在的理由,我这边就全文抄一下了。
The purpose of any version control system is to record changes to your code. This gives you the power to go back into your project history to see who contributed what, figure out where bugs were introduced, and revert problematic changes. But, having all of this history available is useless if you don’t know how to navigate it. That’s where the git log command comes in.
它的意思是,git的作用就是可以记录所有你进行改过的代码,记住所有的历史版本。Git log的作用是当你需要回退代码的时候,可以让你迅速的找到你所需要回退的代码历史版本。
Git log的高级命令可以分为两类:
formatting how each commit is displayed
格式化每条展示的commit和过滤出想要的commit
filtering which commits are included in the output
Formatting Log Output 格式化的Log输出
--oneline 标记的作用是把每一个提交信息压缩为一行。默认情况下只会展示提交 ID与提交信息的首行。
--decorate 标记让git log展示所有指向每个提交引用(如分支,标签等)。多数情况下,了解每条提交与与那个分支/标签关联是很有用的。
-stat选项通过比较每个提交展示了插入与删除的数量(请注意,修改将被表示为1行插入与1行删除)。这在你想要获得每个提交中变化的摘要时很有用。
-p如果你想要查看每个提交实际的变化,你可以使用带-p选项的git log命令,来展示所有描述该提交的差异
git shortlog是用于创建发布公告的一种特殊的git log命令。按作者对每个提交分组,并展示每个提交信息的第一行。这种方式能很容易看出谁参与了工作。
通常,git shortlog会按照作者的名字来排序,但你也可以通过-n选项来按照每个作者的提交数量排序。
添加--graph 选项将会绘制一幅表示分支结构提交历史的ASCII图。该选项通常会结合--oneline与--decorate一起使用,使得能更加容易地看出提交所属的分支。
你所有其他的git log格式的需求,都可以使用--pretty=format:"<string>"选项来实现。这可以让你使用 printf 风格的占位符来展示每条提交。
下面还有一些东西,是各种细致的使用,大家还是自己去看一下了解一下比较好。