zoukankan      html  css  js  c++  java
  • [Practical Git] Filter commit history with git log arguments

    In the last lesson, we learned how to format the git log output; in this lesson we will learn how to filter down to a specific set of commits. By default, git log shows every commit in a repo. We will walk through using a bunch of options to filter our git log commits to a more meaningful set (-n--after--before--author--grep-S-G--no-merges{ref}..{ref}{files}). We will also show how all of the formatting and filtering options can be composed together to query exactly what you are looking for in your commit history.

    Show lasat N commit:

    git log -3 // show last three commit

    Show commits from a center time:

    git log --after="yesterday" // Show the commit between yesterday and today
    git log --after="10 minutes ago"
    git log --after="2 weeks ago"
    git log --after="3/15/16" // Match 15, 2016

    Combine with --before:

    git log --after="3/15/16" --before="yesterday"

    The same as:

    git log --since="3/15/16" --until="yesterday"

    Filter by author:

    git log --author="Tavor"

    Filter by the commit message:

    git log --grep="copyright"

    Filter by the code using string:

    git log -S"Math.random" -p // get all the commit which has Math.random changes in the code, and use -p option to see the code

    Filter by the code using Regex:

    git log -p -GMath|random // Using 'G' without quotes and follow with regex math or random

    Ingore the case:

    git log -i --author="Jane" // search both for "Jane" and "jane"
    
    git log --author="Jane" // search only for "Jane"

    Filter out merges commit:

    git log --no-merges

    See the commits between two branch:

    git log master..cool-feature

    Search by files:

    git log LIENCE.md README.md // search for lience and readme files

    Example:

    git log -3 README.md -p -i --author="Tavor" // Want to see last 3 change on README.md file by author Tavor, ignor the case, and show the code
    git log -S"Math" --after="2 months ago" --oneline --stat
  • 相关阅读:
    docker知识集锦
    kubernetes知识集锦
    redis知识集锦
    Java多线程知识集锦
    vscode离线安装插件
    jsoncpp的简易教程
    为什么要自动化测试?
    如何选择正确的自动化测试工具
    如何选择测试自动化工具?
    测试自动化的五大挑战
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5759503.html
Copyright © 2011-2022 走看看