V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
perapera
V2EX  ›  程序员

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

  •  2
     
  •   perapera · Oct 26, 2020 · 3509 views
    This topic created in 2022 days ago, the information mentioned may be changed or developed.

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

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

    screenshot

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

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

    另外,你可以看下我原来的脚本,next 和 prev 是可以带参数的,参数是数字 n,默认是 1,可以跳到下 /上 n 条 commit,这块可以补充下。
    perapera
        8
    perapera  
    OP
       Oct 26, 2020
    @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  
       Oct 26, 2020
    @perapera 哈哈,确实用到这个的场景很少
    kingzez
        10
    kingzez  
       Oct 27, 2020
    在 .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  
       Oct 27, 2020
    git log --graph --oneline 就可以了
    xiaoxina
        12
    xiaoxina  
       Oct 27, 2020
    写得好 我选择 sourceTree
    perapera
        13
    perapera  
    OP
       Oct 27, 2020
    @kingzez 加个 format 漂亮好多,学到了,谢谢~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1072 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 93ms · UTC 23:11 · PVG 07:11 · LAX 16:11 · JFK 19:11
    ♥ Do have faith in what you're doing.