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
  • 相关阅读:
    opencv如何载入内存中的图像文件
    C++ 中指针与引用的区别
    2014新版12306接口分析
    Qt 多线程与数据库操作需要注意的几点问题
    设置 Linux 的 LD_LIBRARY_PATH 变量
    linux+Qt程序如何打包发布
    c++(重载、覆盖、隐藏)
    Pytorch中的强化学习
    WordNet简介
    Pytorch中的数学函数
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5759503.html
Copyright © 2011-2022 走看看