V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
perapera
V2EX  ›  程序员

分享个帮助阅读 git commit 的小脚本

  •  2
     
  •   perapera · 2020-10-26 14:12:17 +08:00 · 2691 次点击
    这是一个创建于 1494 天前的主题,其中的信息可能已经有所发展或是发生改变。

    大家好,最近小弟读源码比较多,每次都要用 git log git checkout 来切换 commit 实在太麻烦,不利于阅读,而 GitHub 网页和客户端更是难用,后来受到一篇博文的启发,本着锻炼一下自己的想法,写了个小小的 shell 脚本,虽然功能不多(见下图),但希望可以帮到大家,当然,大家如果有更好的工具也欢迎分享~

    GitHub Gist 地址: https://gist.github.com/7ecc/d365af1b3a16a2a72b3e8a3cba2f10cf

    screenshot

    13 条回复    2020-10-27 13:00:29 +08:00
    NoUltimate
        1
    NoUltimate  
       2020-10-26 16:52:32 +08:00
    推荐下 fork 客户端和 github 上的 scm_breeze
    cnoder
        2
    cnoder  
       2020-10-26 17:14:06 +08:00
    写得好 我选择 sourceTree
    ciaoly
        3
    ciaoly  
       2020-10-26 19:08:24 +08:00 via Android
    试试 git extension😏
    perapera
        4
    perapera  
    OP
       2020-10-26 19:08:31 +08:00
    @NoUltimate 谢谢推荐,我之前都没想过用 GUI 工具,只可惜我用开 Linux,我再找找看~
    perapera
        5
    perapera  
    OP
       2020-10-26 19:12:47 +08:00
    @ciaoly 好巧,我正好在官网的 GUI 软件推荐列表看见 Git Extensions,谢谢你的建议~
    perapera
        6
    perapera  
    OP
       2020-10-26 19:13:25 +08:00
    @cnoder 谢谢你的建议~
    hutusi
        7
    hutusi  
       2020-10-26 20:16:14 +08:00
    赞一个👍

    我看了下 gist 内容,你这是把历史记录和当前节点缓存在临时文件中了,想法挺好的。功能也更全面了。

    另外,你可以看下我原来的脚本,next 和 prev 是可以带参数的,参数是数字 n,默认是 1,可以跳到下 /上 n 条 commit,这块可以补充下。
    perapera
        8
    perapera  
    OP
       2020-10-26 21:52:14 +08:00
    @hutusi 哈哈哈,没想到被大佬看到了,我从 rethink-c 开始就关注大佬博客了。

    其实我也想过加这样的功能,说实话,我一看到你留言就马上去加上了,但回头一想,不看 git log 就盲跳几条 commit 的情况应该很少,如果看了 log 的话直接 git checkout 就好了,而且 git 本身也有 git checkout HEAD~n 这样的功能,所以本着尽量简单的想法,我觉得与其加上两条 forward backward,不如加个 calibrate 功能让脚本能更好地和 git 本身的 checkout 功能配合,git checkout 之后也不影响脚本,个人来讲感觉是两全其美了。

    Diff: https://gist.github.com/7ecc/d365af1b3a16a2a72b3e8a3cba2f10cf/revisions
    hutusi
        9
    hutusi  
       2020-10-26 22:58:51 +08:00
    @perapera 哈哈,确实用到这个的场景很少
    kingzez
        10
    kingzez  
       2020-10-27 09:54:02 +08:00
    在 .gitconfig 加个 alias 也不错
    [alias]
    lds = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=format:'%Y-%m-%d %H:%M:%S'
    genesischou
        11
    genesischou  
       2020-10-27 10:26:08 +08:00
    git log --graph --oneline 就可以了
    xiaoxina
        12
    xiaoxina  
       2020-10-27 11:34:28 +08:00
    写得好 我选择 sourceTree
    perapera
        13
    perapera  
    OP
       2020-10-27 13:00:29 +08:00
    @kingzez 加个 format 漂亮好多,学到了,谢谢~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3176 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:37 · PVG 21:37 · LAX 05:37 · JFK 08:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.