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

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的高级功能。

外媒关注贝索斯将卸任亚马逊CEO据法新社洛杉矶5月26日报道,亚马逊创始人杰夫贝索斯当地时间26日说,他将于7月5日离职,并把运营控制权交给继任者。目前,这家电子商务巨头正在电视和云领域展现实力。报道称,贝索斯将荣耀手机这10个强大功能,你知道的有几个?在我们的玩机过程中,总有几个特别好用的功能让我们倍感贴心。今天花部长就与粉粉们分享一下荣耀手机的10大强大又贴心的功能,废话不多说,直接进入主题吧。通信上1。LinkTurbo20LibreOffice6。2。2更新了哪些内容?文档基金会今天宣布开源跨平台办公套件LibreOffice6。2迎来第二个维护版本更新。不过如果想要更稳定且经过广泛测试的LibreOffice办公套件,依然推荐使用LibreOf快4月了荣耀咋还没有发一款新机到底在憋什么大招?在本月初上海五角场荣耀高级体验店揭幕仪式后的群访中,有媒体向赵明发问小米9的上市会影响荣耀V20的销量吗?赵明表现出了一贯的自信你永远阻止不了别人推出什么样的产品,真正重要的是你自全新智能音箱专用平台来袭,支持顶级音效全新QCS400SoC系列来袭,我们将独特的高性能低功耗计算功能以及出色的音频技术,集成在上述SoC系列产品中,旨在为更智能的音频和物联网(IoT)应用提供高度优化且支持人工智能功安全问题大于天,钛酸锂电池的出现,使电动汽车行业出现转机近些年来,随着全球大气的污染,和石油能源不断的减少。全球各地都在大力发展电动汽车。我国也不例外,也推出了不少优惠政策来刺激消费者选择电动汽车。在优惠政策的持续推动下,电动汽车的发展打破行业暴利,小米生态链推出新品竞技鼠标,自带配重块我们平时使用电脑时经常会使用到鼠标,这些年来鼠标也是五花八门,有线鼠标无线鼠标竞技鼠标等,随着人们需求的不同鼠标也有着不同的作用。就在近期小米生态链企业推出了一款新品鼠标,是一款拥赢了与雷军10亿赌约后,董明珠做了这3件事!网友好样的南都讯随着格力电器和小米集团先后发布2018年营收数据,无数吃瓜群众围观了五年的十亿赌约终于有了结果董明珠赢了。1月19日,小米集团公布2018年实现总营收1749亿元,同比增长5联想中国提新财年目标3S业务收入占比超过30五年内冲刺服务器市场老大21世纪经济报道记者杨清清北京报道近日,在联想中国区202223财年誓师大会上,联想集团执行副总裁兼中国区总裁刘军透露,FY20212022财年前三财季,联想中国营业额和利润双创历iPhone11ProMax升级iOS15。5测试版得到大家一致认可!推荐升级iOS15。5测试版是苹果在4月6日凌晨发布的最新测试版本,这次推送距离上次测试版发布时隔5周的时间,内部版本号19F5047e,从这次系统更新来看,是对上次iOS15。4正式版的国际空间站4名宇航员本月回地球目前空间站人数11人澎湃新闻NASA载人航天Crew3任务4名宇航员将于本月晚些时候离开国际空间站,返回地球。Crew3任务的NASA宇航员拉贾查里(RajaChari)汤姆马什本(TomMarshb
不要抱怨自己的能力没有用武之地文章首发于微信公众号涩郎,欢迎大家关注。大家好,我是涩郎,一名知识挖掘师兼知识布道师。周末了,本周我在读书和学习的过程当中,又有了一些新的思考和顿悟,希望我自己在读书和学习过程当中出云号即将脱变真航母,日本有能力发展7艘航母,成为亚洲第一不得不引起我们警觉的一条消息是日本朝日新闻1日报道,日本防卫省9月30日发表消息称,计划10月3至7日期间实施美军F35B战斗机在海上自卫队直升机驱逐舰出云号上起降的实验工作。这则央妈确认055超强作战能力,中国军工让海军具备了自己的TMD央视军事频道做了官宣,055大驱首次实现防空反导一体化!这就意味着我国的055大驱,可以和美国的宙斯盾舰一样,在海上拥有海基弹道导弹拦截系统(TMD)!显然,中国军工在近些年所取得美国总统拜登首次确认将包围台岛,美国真的有能力来信守承诺吗?你相信美国的承诺吗?美国对盟友的承诺会真的有效吗?美国总统拜登在10月21日,接受美国媒体访谈时声称,如果台湾发生统一战争,美国会保卫台湾,是的,我们有这样做的承诺。美国不想和中国拜登突然态度软化,将冲突改为竞争,到底美国怕了什么?综合CNN报道及白宫网站消息,当时一名记者提问拜登是否担忧中美之间出现武装冲突的可能。拜登明确地回答不会。他表示,当然美国不会在国际领空国际领海等一些问题上改变立场,也将会推进网络新玩家加薪抢人,传统车企放大招,软件人才成香饽饽新能源汽车的赛道上,可谓群星闪耀,既有比亚迪长城等传统车企,也有蔚来理想等造车新势力,更有百度小米等互联网公司。入局电动汽车的玩家日益增多,对造车人才的需求也随之高涨。加薪抢人大战恒大集团公告计划出售部分资产,最不差钱的也成了最缺钱的了8月10日晚间恒大集团发布公告称,正在接触独立第三方投资者,探讨有关出售旗下部分资产,包括但不限于出售恒大汽车及恒大物业的部分权益。从公告内容以及前一段恒大某子公司被某银行起诉情况ampampquot德国越来越像第三世界国家ampampquot严重洪灾让德国秩序的神话破灭。俄罗斯观点报17日得出这样一个结论。本文作者是俄罗斯财经大学(RussianUniversityofFinanceandEconomics)副教授格沃汶川地震中,丢下学生一个人跑的老师,你咋好意思又出来了?今天刷到两个视频,一个是汶川地震中,丢下学生一个人跑的范美忠老师(人送外号范跑跑),出现在一个访谈类的节目中,好像是在辩驳自己当年的行为。范美忠老师(人送外号范跑跑)另一个视频是王可能是耳机界目前性价比最高的古典神器aune的第一款耳塞,设计还是颇具个性的。尤其在当前HiFi类产品都在做更容易驱动,更容易搭配,更杂食,包装设计配件更天花乱坠的发展氛围之下,Jasper走了一条我不好评价对错的路重磅推荐GitHub加速神器文章首发于微信公众号GitHub精选,欢迎大家关注。打开微信,使用搜一搜,搜索GitHub精选,即可关注。大家好,我是章鱼猫。今天给大家推荐一个开源项目堪称是GitHub的加速神器