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
  • 相关阅读:
    Windows性能计数器应用
    Azure Oracle Linux VNC 配置
    Azure 配置管理系列 Oracle Linux (PART6)
    Azure 配置管理系列 Oracle Linux (PART5)
    Azure 配置管理系列 Oracle Linux (PART4)
    Azure 配置管理系列 Oracle Linux (PART3)
    Azure 配置管理系列 Oracle Linux (PART2)
    vagrant多节点配置
    docker基本操作
    LINUX开启允许对外访问的网络端口命令
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5759503.html
Copyright © 2011-2022 走看看