V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
这是一个专门讨论 idea 的地方。

每个人的时间,资源是有限的,有的时候你或许能够想到很多 idea,但是由于现实的限制,却并不是所有的 idea 都能够成为现实。

那这个时候,不妨可以把那些 idea 分享出来,启发别人。
gaicitadie
V2EX  ›  奇思妙想

[集思广益]诸位怎么用 git 统计一天写了多少行代码?

  •  1
     
  •   gaicitadie · 2014-02-21 10:34:54 +08:00 · 20843 次点击
    这是一个创建于 3912 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我用
    git show | grep ^\+ | wc -l
    统计上次提交的代码行数,但这样只有每天下班前提交,才能算是一天的代码行数,有没有其他的办法统计当天的?
    我一天最多写100行代码,多了不干
    20 条回复    2017-12-19 10:58:16 +08:00
    xiaohanyu
        1
    xiaohanyu  
       2014-02-21 10:51:23 +08:00
    `git diff --stat`?
    gaicitadie
        2
    gaicitadie  
    OP
       2014-02-21 11:00:28 +08:00
    @xiaohanyu 提交以后运行这个命令,啥也没输出啊
    yangg
        3
    yangg  
       2014-02-21 11:07:28 +08:00   ❤️ 1
    git diff --since=yesterday --stat
    yangg
        4
    yangg  
       2014-02-21 11:12:50 +08:00
    git log --author="$(git config --get user.name)" --no-merges --since=1am --stat
    gaicitadie
        5
    gaicitadie  
    OP
       2014-02-21 11:16:45 +08:00
    @yangg 受教了,
    git log --author="$(git config --get user.name)" --no-merges --since=1am --stat
    非常好用
    gaicitadie
        6
    gaicitadie  
    OP
       2014-02-21 11:19:17 +08:00
    同问大神,平时都是通过什么途径学习git的?发现git的学问非常大,甚至比学一门语言的知识量还大,linux/unix的世界就是无边无际的海洋啊,emacs、vim、git、sed、awk...深入以后个个都是广阔的世界
    yangg
        7
    yangg  
       2014-02-21 11:29:15 +08:00
    不是大神也回答下,
    git可以看下 http://git-scm.com/documentation 文档,看完后,git的常用的命令应该差不多了,有问题可以google,基本上stackoverflow里都有答案,
    后面几个都是差不多,对着文档全部看一遍就能大概了解所有的功能了,
    然后就是应用了,多用,有问题figure it out,时间长了,就算掌握一门语言了
    gaicitadie
        8
    gaicitadie  
    OP
       2014-02-21 11:31:02 +08:00
    @yangg 谢谢,相对于我已经是超大神了
    yangg
        9
    yangg  
       2014-02-21 11:31:59 +08:00
    补充下,像上面的git,vim & emacs 或者其它的编程语言,学习一个方法一个命令,一定要运行看下结果
    gaicitadie
        10
    gaicitadie  
    OP
       2014-02-21 11:36:58 +08:00
    @yangg 嗯,以前只用add、log、diff、push这些基本的命令,很少加参数,今天才发现--stat、--since这些参数别有洞天
    xi4oh4o
        11
    xi4oh4o  
       2014-02-21 12:09:44 +08:00
    git log --author="$(git config --get user.name)" --pretty=tformat: --numstat --since=1am \
    | gawk '{ add += $1 ; subs += $2 ; loc += $1 - $2 } END { printf "added lines: %s removed lines : %s total lines: %s\n",add,subs,loc }'
    xi4oh4o
        12
    xi4oh4o  
       2014-02-21 12:11:28 +08:00
    Top Commit
    git shortlog --numbered --summary
    gaicitadie
        13
    gaicitadie  
    OP
       2014-02-21 12:27:27 +08:00
    @xi4oh4o 谢谢,又学到一招
    openroc
        14
    openroc  
       2014-02-21 13:49:48 +08:00
    gitstats
    xiaohanyu
        15
    xiaohanyu  
       2014-02-28 16:43:50 +08:00
    国内有本《git权威指南》,非常不错,强烈推荐
    pupie
        16
    pupie  
       2014-07-08 10:59:20 +08:00
    想图形化直观的话,可以把代码托管到相关服务上,如github,bitbuckt,我现在内部使用的是atlassian的stash,装个插件跟github一样。
    各种图表都有
    peoplehlj
        17
    peoplehlj  
       2014-07-13 01:13:45 +08:00
    @pupie 放在bitbuckt,如何查看每日的提交统计或者总体的统计呢?
    pupie
        18
    pupie  
       2014-07-14 10:34:11 +08:00
    @peoplehlj 我是用Stash的付费插件实现的,叫 “Awesome Graphs for Stash”,提供的图形就跟github的那几个图一样。
    peoplehlj
        19
    peoplehlj  
       2014-07-14 17:25:55 +08:00
    @pupie 哦哦 这样 thanks
    hotea
        20
    hotea  
       2017-12-19 10:58:16 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3411 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:51 · PVG 18:51 · LAX 02:51 · JFK 05:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.