范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Git命令进阶操作日志格式化

  在本文中,我们会深入探讨如何对git log命令的输出进行格式化。大部分git log命令的可选项,可以帮你选择输出内容中包含每次提交的哪些信息。
  如果你不喜欢默认的git log输出格式,可以在git config中配置下面将要介绍的一些格式化能力的别名。 Oneline
  --oneline选项会把提交信息压缩输出在单行。默认情况下,只显示commit id和commit message的第一行内容。典型的git log --oneline命令的输出会像下面一样: 0e25143 Merge branch "feature" ad8621a Fix a bug in the feature 16b36c6 Add a new feature 23ad9ad Add the initial code base
  这些内容对于搞清楚项目的概貌比较有用。 Decorate
  很多时候,了解每一次提交所关联的分支或者tag是非常有用的。--decorate选项会让git log命令输出的同时显示关联引用(比如分支,tag之类的信息)。
  这些选项也可以与其他选项同时使用。比如运行git log --oneline --decorate会输出形如下面的内容: 0e25143 (HEAD, main) Merge branch "feature" ad8621a (feature) Fix a bug in the feature 16b36c6 Add a new feature 23ad9ad (tag: v0.9) Add the initial code base
  上面输出内容的第一行告诉你这次提交也同时是当前检出的HEAD指针,并显示它也是main分支的顶端。第二行的提交指向了另外一个分支名叫feature。最后第四行显示这次提交被打上了v0.9的标签。
  分支,标签,HEAD以及提交历史几乎是Git仓库中包含的所有信息了,所以这个输出内容展示出仓库中更加完整的逻辑结构。 Diffs
  git log命令包括很多用于展示diff的选项。两个最常见的选项是--stat和-p。
  --stat选项显示了每次提交中删除和插入的代码行数(请注意修改一行意味着一行插入和一行删除)。如果仅需要查看提交所含有的变更简报那么使用这个命令就可以了。下面的例子中显示这次提交改变一个文件:hello.py,并对它进行了67行插入和38行删除的操作。 commit f2a238924e89ca1d4947662928218a06d39068c3 Author: John  Date:   Fri Jun 25 17:30:28 2014 -0500      Add a new feature   hello.py | 105 ++++++++++++++++++++++++-----------------  1 file changed, 67 insertion(+), 38 deletions(-)
  文件名旁边的+和-符号代表文件被改变行数的相对数。这些信息大概显示出什么样的修改可能出现在哪次提交中。
  如果你想看到这次提交涉及到的实际变更,为git log命令添加-p选项。这会输出提交中的完整变更内容: commit 16b36c697eb2d24302f89aa22d9170dfe609855b Author: Mary  Date:   Fri Jun 25 17:31:57 2014 -0500      Fix a bug in the feature  diff --git a/hello.py b/hello.py index 18ca709..c673b40 100644 --- a/hello.py +++ b/hello.py @@ -13,14 +13,14 @@ B -print("Hello, World!") +print("Hello, Git!")
  对于含有大量修改的提交,上面的命令会输出过长的内容,这显得有点愚蠢。常见的情况是如果你要展示完整的变更,一般是为了寻找特定的修改。对于此种情况,应该使用pickaxe功能。 Shortlog
  git shortlog命令是git log命令的特殊版,多数时候用于创建版本描述。它会将commit message的第一行按照提交人进行分组显示。便于查看谁在做什么。
  比如对于一个项目,有两个开发者进行了5次提交,git shortlog的输出看上去大概是下面这样: Mary (2):       Fix a bug in the feature       Fix a serious security hole in our framework  John (3):       Add the initial code base       Add a new feature       Merge branch "feature"
  默认情况下,git shortlog会按照提交人的名称进行排序,但你也可以传入-n选项让输出内容按照提交人的提交数量进行排序。 Graph
  --graph选项使用ASCII图形来表示提交历史中的分支关系。这个选项通常会与--oneline和--decorate选项关联使用,这样输出内容就会显而易见地看到提交的归属分支: git log --graph --oneline --decorate
  对于一个简单的仅含有2个分支的仓库,上面的命令输出内容大致如下: *   0e25143 (HEAD, main) Merge branch "feature" |   | * 16b36c6 Fix a bug in the new feature | * 23ad9ad Start a new feature * | ad8621a Fix a critical security issue |/   * 400e4b7 Fix typos in the documentation * 160e224 Add the initial code base
  星号表示提交是发生在那个分支上的,所以上面的图告诉我们23ad9ad和16b36c6这两次提交发生在功能分支上,剩下的提交都发生在main分支上。
  对于简单的仓库来说上面的例子已经足够好用,但是对于更加依赖大量分支的仓库来说,可能会更倾向于使用具有完整功能的可视化工具,比如gitk或者sourcetree。 自定义格式
  对于其他定制化的日志展示需求,你完全可以使用--pretty=format:""选型来实现。这个选项允许你对输出内容进行完整的定制,不过你需要使用printf类型的占位符。
  举例来说,下面的命令中%cn, %h 和 %cd字符分别会被展开为提交人名称,代表提交的短哈希,以及提交日期时间: git log --pretty=format:"%cn committed %h on %cd"
  输出内容如下: John committed 400e4b7 on Fri Jun 24 12:30:04 2014 -0500  John committed 89ab2cf on Thu Jun 23 17:09:42 2014 -0500  Mary committed 180e223 on Wed Jun 22 17:21:19 2014 -0500  John committed f12ca28 on Wed Jun 22 13:50:31 2014 -0500
  关于占位符的列表可以在这里找到。
  除了用来显示有用的提交信息,在把git log的内容通过管道输出到其他命令的标准输入时,--pretty=format:""选项能够发挥更大的作用。 总结
  现在你应该已经能够熟练并且舒服的使用git log的高级参数来格式化适合自己的日志输出。这有助于你能够抽取项目历史的有用信息。
  这些新技能是Git工具包中的重要组成部分,但是记住git log经常与其他Git命令关联使用。一旦找到你所关心的那次提交,通常来说你都会需要使用git checkout,git revert或者其他什么命令来操作这次提交。所以,还需持续不断的学习Git的高级功能。

13幅超超超有趣的英文漫画原来世界这么奇妙英国设计工作室Young,以每天一幅画一个小知识开展了一个项目,名为LearnSomethingEveryDay设计师们希望通过画画这种更直观更有趣的方式,带动人们每天学多一点小认为什么西藏的英文名不是Xizang,而是Tibet?来源普特英语听力网(IDputclub2012)通常来讲,中国很多地方的英文名都是直接采用拼音,但也有一些例外。比如,最近几年非常火的旅游胜地西藏,你知道它的英文名怎么说吗?西藏的不加香菜用英文怎么说?不吃香菜的一定要看你身边有不吃香菜的朋友嘛?每次跟他们出去吃饭,是不是总能听到一句不放香菜?就算你很喜欢吃香菜,也只能将就着了!有些人可能会觉得那些不吃香菜的人很矫情,但不吃香菜真的不是他们矫情,而点外卖用英语怎么说?总不能说CallWaimai吧那家店有点远,我们要不叫外卖吧?今天有点冷,不想去楼下吃饭,要不点个外卖?外面太热了,咱要不一起点个外卖?不知道从什么时候开始外卖已经成了我们生活的一部分吃了那么久外卖外卖的英语怎真实版童话我家的狗子救了一只落水小鹿,然后它们成为了好朋友来自美国弗吉尼亚的Dorn夫妻最近分享了自家狗子的一个小故事。虽然只有短短几句话,但这个故事传遍了全世界,并且收获了11万点赞,25万分享。事情是这样的这只狗狗叫Harley,是一老外说你是个hottomato是啥意思?他是在骂你吗?今天我们来聊聊西红柿和圣女果。相信有很多小伙伴都很喜欢吃圣女果,酸酸甜甜,味道好得很。那你们知道,圣女果的英文是什么吗?圣女果可跟女孩儿没关系圣女果就是我们常说的小西红柿,它可跟女2B铅笔中的B到底是哪个单词的缩写?你肯定认识从开始学习写字到后来练习画画再到长大后考试填涂答题卡铅笔是从小到大陪伴我们最久的文具记得小时候老师们会对铅笔的型号有各种各样的要求有要求带2B的有2H的还有HB的这里的B和H你们知AF艺术留学南京校区正式开业!秋日赴约,为你增添诗意与浪漫六朝金粉地,最忆是金陵从灯火阑珊的十里秦淮到熙攘繁华的新街口隽永的诗意与浪漫一直是南京这座城不变的标签在这个秋高气爽的季节AF国际艺术中心正式开启南京站!AFer们也以不变的初心继直播英语怎么说?直播带货,网红ampampquot这些又怎么说呢?01hr直播英语怎么说?直播的名词livestreamlivestreamlive现场的lavstream流量Doyoulikewatchinglivesteam?你喜欢看直播吗?羽绒服英文是downjacket,为什么要用down?羽绒服的英文怎么说?羽绒服的英语是downjacket很多人知道后纳闷了,为什么会是down呢?down不是向下,在下面的意思吗??你也可能猜测是不是因为鸭绒和鹅绒长在腹部靠下,就古代的皇帝们称呼自己是说的朕,用英语该咋说?今天给大家讲一个厉害的概念RoyalPlural。皇家复数,这个翻译可以,和实际的意思也很贴切。历史上,无论东方还是西方的皇家贵族都喜欢用特殊的称谓来自称,比如中国的朕。那么,在西
四档控温,满足家庭多样化饮水需求摩飞恒温热水壶家庭用水的需求一般是多样的,对于有孩子的耙耙麻麻,如果能45快速充奶最好对于喜欢饮茶的朋友来说,又需要不同的水温泡不同的茶,才不会影响茶汤的风味。所以我选择摩飞的这款恒温电热水壶,夏普不做LCD也牛?鬼才设计师玩着上班?网友LCD永不为奴不知道大家有没有听过关于夏普的一个笑话,当时的夏普与知名足球解说韩乔生相当有渊源。在1996年的一场英超比赛中,韩乔生是这样说的7号球员夏普分球,传给9号球员,诶9号球员也叫夏普,葵花药业董事长杀妻案宣判,二婚家庭是非恩怨多大家好,我是老李。4月10日被曝出杀人案的葵花药业董事长的悬疑大案,终于在周五有了一个暂时性的结果。7月17日,葵花药业原董事长关彦斌杀妻案一审宣判关彦斌犯故意杀人罪,一审被判处有中国丁克一族超60万,没孩子的婚姻生活怎么如愿?大家好,我是老李。昨天刚过中国的情人节七夕节,今天就来聊点在情感生活中越来越多的一群人丁克一族。中国丁克家庭超60万,高知家庭占多数据一项社会调查显示,中国丁克家庭的数量已经超过6大自然的搬运工也想尝尝上市的甜头,农夫山泉赴港IPO大家好,我是老李。今天来和大家聊聊农夫山泉赴港上市的事。农夫山泉赴港IPO,说好的不上市呢?说起农夫山泉大家都耳熟能详,但对于钟睒睒外界所知甚少。成立于1996年的农夫山泉在二十余一天卖爆上千亿的新基金,我劝你不要买!大家好,我是老李。最近,大家借基炒股的心思都活络了起来,不少朋友都在后台问我XX新基金能不能买。其实老李我在过往文章中苦口婆心N多次了,今天最后再说一次,对于新基金不要那么热衷。大不敢争取机会,突然自我怀疑,职业瓶颈期的你还好吗?大家好,我是老李。转眼2020年的余额已经不足三分之一,很多保险人即将迎来一年一度的开门红,但是小编身边从事保险工作的读者们却开始焦虑,按理说今年因为疫情的关系,不该为业绩犯愁,但在中国,70的家庭正在做自杀式资产配置大家好,我是老李。正如地球人都知道的过去三十年,要想富,少生孩子多买房。最近这五年,房产价格上涨超过100,如果家里资产主要是房产,财富涨个100,太正常了。房价上涨使得财富由无房又一上市公司财务作假,牛市不牛,你还长期持有股票吗?大家好,我是老李。今天来聊聊又一个被曝出财务造假的上市公司。或有退市风险ST椰岛早前被合并报表重要联营企业浙银渝富(杭州)资本管理有限公司(以下简称浙银渝富)向海南证监局提交举报信这次的医保改革,许多人都没看懂大家好,我是老李。8月26日,国家医保局正式向社会公布关于建立健全职工基本医疗保险门诊共济保障机制的指导意见(征求意见稿)。医保个人账户迎来22年最大改革,职工医保个人账户拟可用于卖2块钱的包子也可以做到上市巴比馒头,从夫妻老婆店成长起来大家好,我是老李。早上8点的早高峰地铁,行色匆匆的路人,从一份路边早餐开启一天的奋斗。谁能想到,小小的馒头居然撬动了一家企业上市!是的,不要瞧不起卖馒头包子这门小生意,更不要小看这