最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Git提交歷史查看與日志篩選的全攻略

 更新時(shí)間:2026年03月26日 09:32:31   作者:用什么都重名  
本文介紹了Git日志(gitlog)的實(shí)用操作指南,主要內(nèi)容包括:基礎(chǔ)用法展示提交歷史、顯示補(bǔ)丁(-p)與修改統(tǒng)計(jì)(--stat)、多樣化輸出格式(--pretty)設(shè)置、圖形化分支(--graph)展示,以及多種過濾方式(時(shí)間、作者、關(guān)鍵詞、路徑等),需要的朋友可以參考下

一、基礎(chǔ)用法:git log

克隆示例倉庫并進(jìn)入目錄:

$ git clone https://github.com/schacon/simplegit-progit
$ cd simplegit-progit

直接運(yùn)行 git log,默認(rèn)會按 倒序 列出所有提交: 

$ git log
commit ca82a6dff817……  
Author: Scott Chacon <schacon@…>  
Date:   Mon Mar 17 21:52:11 2008 -0700  

    Change version number

commit 085bb3bcb6……  
Author: Scott Chacon <schacon@…>  
Date:   Sat Mar 15 16:40:33 2008 -0700  

    Remove unnecessary test

commit a11bef06a3……  
Author: Scott Chacon <schacon@…>  
Date:   Sat Mar 15 10:31:28 2008 -0700  

    Initial commit

 每條記錄包括提交哈希(SHA-1)、作者、日期和提交信息。

二、顯示補(bǔ)丁與統(tǒng)計(jì)

2.1-p/--patch:顯示補(bǔ)丁

跟隨每次提交后直接輸出該提交所引入的 diff:

$ git log -p -2

僅顯示最近兩次提交及其完整代碼變更。

2.2--stat:文件修改統(tǒng)計(jì)

在每次提交下方匯總修改文件列表及插入/刪除行數(shù):

$ git log --stat

輸出示例:

 Rakefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

 若只想看統(tǒng)計(jì)匯總行,可用 --shortstat。

三、多樣化輸出格式:--pretty

3.1 預(yù)定義格式

oneline:每個(gè)提交一行,配合 --abbrev-commit 可更簡潔:

$ git log --pretty=oneline

short/full/fuller:分別對應(yīng)不同程度的信息豐富度。

3.2 自定義格式

使用 format: 自定義輸出字段,常用占位符如下:

占位符含義
%H完整提交哈希
%h簡短提交哈希
%an作者名稱
%ae作者郵箱
%ar作者日期(相對,如 “2 weeks ago”)
%cn提交者名稱
%ce提交者郵箱
%cr提交者日期(相對)
%s提交信息摘要

示例:

$ git log --pretty=format:"%h - %an, %ar : %s"

四、ASCII 圖形化分支:--graph

在日志前加上分支/合并結(jié)構(gòu)的 ASCII 圖示:

$ git log --pretty=format:"%h %s" --graph

示例輸出:

* 2d3acf9 Ignore errors from SIGCHLD on trap
* 5e3ee11 Merge branch 'master' of …
|\
| * 420eac9 Add method for current branch
* | 30e367c Timeout code and tests
...

五、限制與過濾日志

5.1 限制條目數(shù)量

-n 或 -<n>:僅顯示最近 n 條提交

$ git log -3      # 最近三次

5.2 時(shí)間范圍

  • --since / --after:指定起始日期
  • --until / --before:指定結(jié)束日期

支持多種格式,如 "2025-01-15"、"2 weeks ago"。

$ git log --since="2 weeks"

5.3 作者/提交者過濾

  • --author="用戶名或郵箱"
  • --committer="提交者"
$ git log --author="Junio C Hamano"

5.4 提交信息關(guān)鍵詞:--grep

僅顯示提交信息中匹配給定正則/字符串的記錄:

$ git log --grep="bugfix"

添加 --all-match 要求同時(shí)匹配多個(gè) --grep 或 --author 條件。

5.5 “挑選”改動內(nèi)容:-S

查找改動中添加或刪除某個(gè)字符串的提交:

$ git log -S function_name

5.6 按路徑篩選

僅顯示對指定文件或目錄有改動的提交:

$ git log -- path/to/file

記得在路徑前加 -- 來區(qū)分選項(xiàng)與路徑。

六、實(shí)戰(zhàn)示例

查詢 2008 年 10 月由 Junio Hamano 修改 t/ 目錄下文件的非合并提交:

$ git log \
  --pretty="%h - %s" \
  --author="Junio C Hamano" \
  --since="2008-10-01" \
  --before="2008-11-01" \
  --no-merges \
  -- t/

 輸出最近符合條件的若干提交。

七、常用選項(xiàng)速覽

八、總結(jié)

git log 是查看、分析項(xiàng)目歷史的核心利器。掌握補(bǔ)丁輸出、統(tǒng)計(jì)信息、格式定制、圖形化分支、時(shí)間/作者/內(nèi)容過濾等功能后,你可以:

  • 快速定位引入某行代碼的提交
  • 按日期范圍或作者篩選日志
  • 以簡潔或自定義格式輸出,便于腳本處理
  • 可視化分支與合并結(jié)構(gòu),理清歷史脈絡(luò)

以上就是Git提交歷史查看與日志篩選的全攻略的詳細(xì)內(nèi)容,更多關(guān)于Git歷史查看與日志篩選的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • VSCode設(shè)置默認(rèn)打開的瀏覽器的方法

    VSCode設(shè)置默認(rèn)打開的瀏覽器的方法

    這篇文章主要介紹了VSCode設(shè)置默認(rèn)打開的瀏覽器的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • VSCode?搭建?x264?源碼調(diào)試環(huán)境的詳細(xì)步驟

    VSCode?搭建?x264?源碼調(diào)試環(huán)境的詳細(xì)步驟

    這篇文章主要介紹了VSCode?搭建?x264?源碼調(diào)試環(huán)境的詳細(xì)步驟,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-10-10
  • 淺析Git 分支的新建與合并

    淺析Git 分支的新建與合并

    這篇文章主要介紹了Git 分支的新建與合并,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 使用Git實(shí)現(xiàn)revert的完整操作步驟

    使用Git實(shí)現(xiàn)revert的完整操作步驟

    文章介紹了git revert命令的使用,包括其核心概念、完整操作步驟、進(jìn)階場景以及與git reset的區(qū)別,git revert是一種安全的代碼回退方式,適用于已推送的代碼,通過生成新的提交來抵消目標(biāo)提交的修改,保留歷史記錄并便于追溯,需要的朋友可以參考下
    2026-01-01
  • 回車和換行有什么區(qū)別?我們平時(shí)按下的Enter鍵是回車還是換行

    回車和換行有什么區(qū)別?我們平時(shí)按下的Enter鍵是回車還是換行

    如果用過機(jī)械打字機(jī),就知道回車和換行的區(qū)別了。換行就是把滾筒卷一格,不改變水平位置。回車就是把水平位置復(fù)位,不卷動滾筒
    2011-03-03
  • SpringSecurity框架簡介及與shiro特點(diǎn)對比

    SpringSecurity框架簡介及與shiro特點(diǎn)對比

    這篇文章是SpringSecurity框架的入門篇,主要為大家介紹了SpringSecurity框架簡介及與shiro優(yōu)缺點(diǎn)對比有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2022-03-03
  • VS2019中Git源代碼管理實(shí)現(xiàn)總結(jié)

    VS2019中Git源代碼管理實(shí)現(xiàn)總結(jié)

    這篇文章主要介紹了VS2019中Git源代碼管理實(shí)現(xiàn)總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • 基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手

    基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手

    這篇文章主要介紹了基于 Serverless +企業(yè)微信打造 nCoV 疫情監(jiān)控小助手,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 獲取目錄下所有文件名的代碼

    獲取目錄下所有文件名的代碼

    獲取目錄下所有文件名的代碼,需要的朋友可以參考下。
    2011-07-07
  • kill一條TCP連接實(shí)現(xiàn)方法詳解

    kill一條TCP連接實(shí)現(xiàn)方法詳解

    這篇文章主要為大家介紹了kill一條TCP連接實(shí)現(xiàn)方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11

最新評論

涟水县| 宜兴市| 孟村| 九台市| 铜鼓县| 长阳| 邵武市| 瓦房店市| 县级市| 高陵县| 石城县| 乐平市| 景谷| 阜阳市| 屯昌县| 临洮县| 绥化市| 远安县| 尉犁县| 明星| 江山市| 德安县| 永济市| 大田县| 濉溪县| 玛沁县| 鄢陵县| 通道| 西平县| 莱州市| 沽源县| 于田县| 花莲市| 华坪县| 璧山县| 宁陵县| 颍上县| 德保县| 孝感市| 泽州县| 华池县|