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
  • 相关阅读:
    第01组-Alpha冲刺总结
    pypy windows安装scrapy
    Python:pip无法使用No module named '_sysconfigdata_m_linux_x86_64-linux-gnu'
    Jenkins+Ansible+Gitlab:通过curl自动推送文件&gitlab自动触发构建
    zabbix安装及问题小结
    虚拟机中的jenkins无法访问&Nginx配置
    centos7 安装gitlab及简单配置
    kerberos&LDAP实现免密码登录搭建
    kerberos&ssh 原理、免密登录搭建
    自启动脚本/etc/rc.local文件
  • 原文地址:https://www.cnblogs.com/Answer1215/p/5759503.html
Copyright © 2011-2022 走看看